ToolStripManager.RevertMerge Method
Definition
Important
Some information relates to prerelease product that may be substantially modified before it’s released. Microsoft makes no warranties, express or implied, with respect to the information provided here.
Undoes a merging of two ToolStrip objects.
Overloads
RevertMerge(String) |
Undoes a merging of two ToolStrip objects, returning the ToolStrip with the specified name to its state before the merge and nullifying all previous merge operations. |
RevertMerge(ToolStrip) |
Undoes a merging of two ToolStrip objects, returning the specified ToolStrip to its state before the merge and nullifying all previous merge operations. |
RevertMerge(ToolStrip, ToolStrip) |
Undoes a merging of two ToolStrip objects, returning both ToolStrip controls to their state before the merge and nullifying all previous merge operations. |
RevertMerge(String)
public:
static bool RevertMerge(System::String ^ targetName);
public static bool RevertMerge (string targetName);
static member RevertMerge : string -> bool
Public Shared Function RevertMerge (targetName As String) As Boolean
Parameters
- targetName
- String
The name of the ToolStripItem for which to undo a merge operation.
Returns
true
if the undoing of the merge is successful; otherwise, false
.
Remarks
The ToolStrip.AllowMerge property must be set to true
for both ToolStrip objects, or this method returns false
.
See also
Applies to
RevertMerge(ToolStrip)
public:
static bool RevertMerge(System::Windows::Forms::ToolStrip ^ targetToolStrip);
public static bool RevertMerge (System.Windows.Forms.ToolStrip targetToolStrip);
static member RevertMerge : System.Windows.Forms.ToolStrip -> bool
Public Shared Function RevertMerge (targetToolStrip As ToolStrip) As Boolean
Parameters
- targetToolStrip
- ToolStrip
The ToolStripItem for which to undo a merge operation.
Returns
true
if the undoing of the merge is successful; otherwise, false
.
Examples
The following code example undoes the merging of menu items. This example is part of a larger example available in the ToolStripManager class overview.
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
Remarks
The ToolStrip.AllowMerge property must be set to true
for both ToolStrip objects, or this method returns false
.
See also
Applies to
RevertMerge(ToolStrip, ToolStrip)
public:
static bool RevertMerge(System::Windows::Forms::ToolStrip ^ targetToolStrip, System::Windows::Forms::ToolStrip ^ sourceToolStrip);
public static bool RevertMerge (System.Windows.Forms.ToolStrip targetToolStrip, System.Windows.Forms.ToolStrip sourceToolStrip);
static member RevertMerge : System.Windows.Forms.ToolStrip * System.Windows.Forms.ToolStrip -> bool
Public Shared Function RevertMerge (targetToolStrip As ToolStrip, sourceToolStrip As ToolStrip) As Boolean
Parameters
- targetToolStrip
- ToolStrip
The name of the ToolStripItem for which to undo a merge operation.
Returns
true
if the undoing of the merge is successful; otherwise, false
.
Exceptions
The sourceToolStrip
is null
.
Remarks
The ToolStrip.AllowMerge property must be set to true
for both ToolStrip objects, or this method returns false
.