ToolStripManager.Merge Metoda
Definice
Důležité
Některé informace platí pro předběžně vydaný produkt, který se může zásadně změnit, než ho výrobce nebo autor vydá. Microsoft neposkytuje žádné záruky, výslovné ani předpokládané, týkající se zde uváděných informací.
Kombinuje ToolStrip ovládací prvky.
Přetížení
Merge(ToolStrip, String) |
Kombinuje dva ToolStrip objekty stejného typu. |
Merge(ToolStrip, ToolStrip) |
Kombinuje dva ToolStrip objekty různých typů. |
Merge(ToolStrip, String)
Kombinuje dva ToolStrip objekty stejného typu.
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
Parametry
Návraty
true
je-li sloučení úspěšné; false
v opačném případě .
Výjimky
sourceToolStrip
nebo targetName
je null
.
sourceToolStrip
nebo targetName
odkazovat na stejné ToolStrip.
Poznámky
ToolStripManager.Merge Pomocí metody můžete kombinovat ToolStrip objekty stejného typu, jako ToolStrip jsou objekty s jinými ToolStrip objekty, MenuStrip objekty s jinými MenuStrip objekty atd.
ToolStripManager.Merge Pomocí metody můžete kombinovat ToolStrip objekty různých typů.
Vlastnost ToolStrip.AllowMerge musí být nastavena pro true
oba ToolStrip objekty, a zdrojové a cílové typy musí být identické, nebo tato metoda vrátí false
.
Poznámka
Pokud jsou u podřízeného formuláře MDI dva MenuStrip ovládací prvky, nastavení IsMdiContainer true
pro nadřazený formulář slučuje obsah pouze jednoho z ovládacích MenuStrip prvků. Slouží Merge ke sloučení obsahu dalších podřízených MenuStrip ovládacích prvků v nadřazené formuláři MDI.
Viz také
Platí pro
Merge(ToolStrip, ToolStrip)
Kombinuje dva ToolStrip objekty různých typů.
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
Parametry
Návraty
true
je-li sloučení úspěšné; false
v opačném případě .
Příklady
Následující příklad kódu slučuje položky nabídky na základě zadaných voleb. Tento příklad je součástí většího příkladu, který je k dispozici v přehledu ToolStripManager třídy.
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
Poznámky
ToolStripManager.Merge Pomocí metody můžete kombinovat ToolStrip objekty různých typů.
ToolStripManager.Merge Pomocí metody můžete kombinovat ToolStrip objekty stejného typu, jako ToolStrip jsou objekty s jinými ToolStrip objekty, MenuStrip objekty s jinými MenuStrip objekty atd.
Vlastnost ToolStrip.AllowMerge musí být nastavena na true
oba ToolStrip objekty, nebo tato metoda vrátí false
.
Poznámka
Pokud jsou u podřízeného formuláře MDI dva MenuStrip ovládací prvky, nastavení IsMdiContainer true
pro nadřazený formulář slučuje obsah pouze jednoho z ovládacích MenuStrip prvků. Slouží Merge ke sloučení obsahu dalších podřízených MenuStrip ovládacích prvků v nadřazené formuláři MDI.