次の方法で共有


ToolStripManager.Merge メソッド

定義

ToolStrip コントロールを結合します。

オーバーロード

名前 説明
Merge(ToolStrip, String)

同じ型の 2 つの ToolStrip オブジェクトを結合します。

Merge(ToolStrip, ToolStrip)

異なる型の 2 つの ToolStrip オブジェクトを結合します。

Merge(ToolStrip, String)

ソース:
ToolStripManager.cs
ソース:
ToolStripManager.cs
ソース:
ToolStripManager.cs
ソース:
ToolStripManager.cs
ソース:
ToolStripManager.cs

同じ型の 2 つの ToolStrip オブジェクトを結合します。

public:
 static bool Merge(System::Windows::Forms::ToolStrip ^ sourceToolStrip, System::String ^ targetName);
public static bool Merge(System.Windows.Forms.ToolStrip sourceToolStrip, string targetName);
static member Merge : System.Windows.Forms.ToolStrip * string -> bool
Public Shared Function Merge (sourceToolStrip As ToolStrip, targetName As String) As Boolean

パラメーター

sourceToolStrip
ToolStrip

targetName パラメーターによって参照されるToolStripと組み合わせるToolStrip

targetName
String

sourceToolStrip パラメーターによって参照されるToolStripを受け取るToolStripの名前。

戻り値

true マージが成功した場合。それ以外の場合は false

例外

sourceToolStrip または targetNamenull

sourceToolStrip または targetName 同じ ToolStripを参照します。

注釈

ToolStripManager.Merge メソッドを使用して、ToolStrip オブジェクトと他のToolStrip オブジェクト、他のMenuStrip オブジェクトとのMenuStripオブジェクトなど、同じ種類のToolStripオブジェクトを結合します。

ToolStripManager.Merge メソッドを使用して、さまざまな種類のオブジェクトToolStrip結合します。

ToolStrip.AllowMerge プロパティは、ToolStrip オブジェクトの両方に対してtrueに設定する必要があり、ソースとターゲットの型は同じである必要があります。または、このメソッドはfalseを返します。

MDI 子フォームに 2 つのMenuStrip コントロールがある場合、親フォームのtrueIsMdiContainerを設定すると、MenuStrip コントロールの 1 つだけの内容がマージされます。 Mergeを使用して、MDI 親フォーム上の追加の子MenuStrip コントロールの内容をマージします。

こちらもご覧ください

適用対象

Merge(ToolStrip, ToolStrip)

ソース:
ToolStripManager.cs
ソース:
ToolStripManager.cs
ソース:
ToolStripManager.cs
ソース:
ToolStripManager.cs
ソース:
ToolStripManager.cs

異なる型の 2 つの ToolStrip オブジェクトを結合します。

public:
 static bool Merge(System::Windows::Forms::ToolStrip ^ sourceToolStrip, System::Windows::Forms::ToolStrip ^ targetToolStrip);
public static bool Merge(System.Windows.Forms.ToolStrip sourceToolStrip, System.Windows.Forms.ToolStrip targetToolStrip);
static member Merge : System.Windows.Forms.ToolStrip * System.Windows.Forms.ToolStrip -> bool
Public Shared Function Merge (sourceToolStrip As ToolStrip, targetToolStrip As ToolStrip) As Boolean

パラメーター

sourceToolStrip
ToolStrip

targetToolStrip パラメーターによって参照されるToolStripと組み合わせるToolStrip

targetToolStrip
ToolStrip

sourceToolStrip パラメーターによって参照されるToolStripを受け取るToolStrip

戻り値

true マージが成功した場合。それ以外の場合は false

次のコード例では、指定した選択肢に基づいてメニュー項目をマージします。 この例は、 ToolStripManager クラスの概要で使用できるより大きな例の一部です。

private MergeSample CurrentSample
{
    get { return currentSample; }
    set
    {
        if (currentSample != value)
        {
            bool resetRequired = false;

            if (currentSample == MergeSample.MatchOnly)
            {
                resetRequired = true;
            }
            currentSample = value;
            // Undo previous merge, if any.
            ToolStripManager.RevertMerge(cmsBase, cmsItemsToMerge);
            if (resetRequired)
            {
                RebuildItemsToMerge();
            }

            switch (currentSample)
            {
                case MergeSample.None:
                    return;
                case MergeSample.Append:
                    ScenarioText = "This sample adds items to the end of the list using MergeAction.Append.\r\n\r\nThis is the default setting for MergeAction. A typical scenario is adding menu items to the end of the menu when some part of the program is activated.";
                    ShowAppendSample();
                    break;
                case MergeSample.InsertInSameLocation:
                    ScenarioText = "This sample adds items to the middle of the list using MergeAction.Insert.\r\n\r\nNotice here how the items are added in reverse order: four, three, two, one. This is because they all have the same merge index.\r\n\r\nA typical scenario is adding menu items to the middle or beginning of the menu when some part of the program is activated. ";
                    ShowInsertInSameLocationSample();
                    break;
                case MergeSample.InsertInSameLocationPreservingOrder:
                    ScenarioText = "This sample is the same as InsertInSameLocation, except the items are added in normal order by increasing the MergeIndex of \"two merged items\" to be 3, \"three merged items\" to be 5, and so on.\r\n  You could also add the original items backwards to the source ContextMenuStrip.";
                    ShowInsertInSameLocationPreservingOrderSample();
                    break;
                case MergeSample.ReplacingItems:
                    ScenarioText = "This sample replaces a menu item using MergeAction.Replace. Use this for the MDI scenario where saving does something completely different.\r\n\r\nMatching is based on the Text property. If there is no text match, merging reverts to MergeIndex.";
                    ShowReplaceSample();
                    break;
                case MergeSample.MatchOnly:
                    ScenarioText = "This sample adds only the subitems from the child to the target ContextMenuStrip.";
                    ShowMatchOnlySample();
                    break;
            }
            // Reapply with the new settings.
            ToolStripManager.Merge(cmsItemsToMerge, cmsBase);
        }
    }
}

Private Property CurrentSample() As MergeSample
   Get
      Return currentSample1
   End Get
   Set
      If currentSample1 <> value Then
         Dim resetRequired As Boolean = False
         
         If currentSample1 = MergeSample.MatchOnly Then
            resetRequired = True
         End If
         currentSample1 = value
         ' Undo previous merge, if any.
         ToolStripManager.RevertMerge(cmsBase, cmsItemsToMerge)
         If resetRequired Then
            RebuildItemsToMerge()
         End If
         
         Select Case currentSample1
            Case MergeSample.None
                  Return
            Case MergeSample.Append
               ScenarioText = "This sample adds items to the end of the list using MergeAction.Append." + ControlChars.Cr + ControlChars.Lf + ControlChars.Cr + ControlChars.Lf + "This is the default setting for MergeAction. A typical scenario is adding menu items to the end of the menu when some part of the program is activated."
               ShowAppendSample()
            Case MergeSample.InsertInSameLocation
               ScenarioText = "This sample adds items to the middle of the list using MergeAction.Insert." + ControlChars.Cr + ControlChars.Lf + ControlChars.Cr + ControlChars.Lf + "Notice here how the items are added in reverse order: four, three, two, one. This is because they all have the same merge index." + ControlChars.Cr + ControlChars.Lf + ControlChars.Cr + ControlChars.Lf + "A typical scenario is adding menu items to the middle or beginning of the menu when some part of the program is activated. "
               ShowInsertInSameLocationSample()
            Case MergeSample.InsertInSameLocationPreservingOrder
               ScenarioText = "This sample is the same as InsertInSameLocation, except the items are added in normal order by increasing the MergeIndex of ""two merged items"" to be 3, ""three merged items"" to be 5, and so on." + ControlChars.Cr + ControlChars.Lf + "  You could also add the original items backwards to the source ContextMenuStrip."
               ShowInsertInSameLocationPreservingOrderSample()
            Case MergeSample.ReplacingItems
               ScenarioText = "This sample replaces a menu item using MergeAction.Replace. Use this for the MDI scenario where saving does something completely different." + ControlChars.Cr + ControlChars.Lf + ControlChars.Cr + ControlChars.Lf + "Matching is based on the Text property. If there is no text match, merging reverts to MergeIndex."
               ShowReplaceSample()
            Case MergeSample.MatchOnly
               ScenarioText = "This sample adds only the subitems from the child to the target ContextMenuStrip."
               ShowMatchOnlySample()
         End Select
         
         ' Reapply with the new settings.
         ToolStripManager.Merge(cmsItemsToMerge, cmsBase)
      End If
   End Set
End Property

注釈

ToolStripManager.Merge メソッドを使用して、さまざまな種類のオブジェクトToolStrip結合します。

ToolStripManager.Merge メソッドを使用して、ToolStrip オブジェクトと他のToolStrip オブジェクト、他のMenuStrip オブジェクトとのMenuStripオブジェクトなど、同じ種類のToolStripオブジェクトを結合します。

ToolStrip.AllowMergeプロパティは、両方のToolStripオブジェクトに対してtrueに設定する必要があります。または、このメソッドはfalseを返します。

MDI 子フォームに 2 つのMenuStrip コントロールがある場合、親フォームのtrueIsMdiContainerを設定すると、MenuStrip コントロールの 1 つだけの内容がマージされます。 Mergeを使用して、MDI 親フォーム上の追加の子MenuStrip コントロールの内容をマージします。

こちらもご覧ください

適用対象