ToolStripManager.Merge Método
Definición
Importante
Parte de la información hace referencia a la versión preliminar del producto, que puede haberse modificado sustancialmente antes de lanzar la versión definitiva. Microsoft no otorga ninguna garantía, explícita o implícita, con respecto a la información proporcionada aquí.
Combina los controles ToolStrip.
Sobrecargas
Merge(ToolStrip, String) |
Combina dos objetos ToolStrip del mismo tipo. |
Merge(ToolStrip, ToolStrip) |
Combina dos objetos ToolStrip de tipos distintos. |
Merge(ToolStrip, String)
Combina dos objetos ToolStrip del mismo tipo.
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
Parámetros
- sourceToolStrip
- ToolStrip
Objeto ToolStrip que se va a combinar con el objeto ToolStrip al que hace referencia el parámetro targetName
.
- targetName
- String
Nombre del objeto ToolStrip que recibe el objeto ToolStrip al que hace referencia el parámetro sourceToolStrip
.
Devoluciones
Es true
si la combinación se realiza correctamente; en caso contrario, es false
.
Excepciones
sourceToolStrip
o targetName
es null
.
sourceToolStrip
o targetName
hacen referencia al mismo elemento ToolStrip.
Comentarios
Use el ToolStripManager.Merge método para combinar ToolStrip objetos de tipo idéntico, como ToolStrip objetos con otros ToolStrip objetos, MenuStrip objetos con otros MenuStrip objetos, etc.
Use el ToolStripManager.Merge método para combinar ToolStrip objetos de diferentes tipos.
La ToolStrip.AllowMerge propiedad debe establecerse true
en para ambos ToolStrip objetos y los tipos de origen y de destino deben ser idénticos, o este método devuelve false
.
Nota
Si hay dos MenuStrip controles en un formulario secundario MDI, establecer IsMdiContainer true
en para el formulario primario combina el contenido de solo uno de los MenuStrip controles. Use Merge para combinar el contenido de controles secundarios adicionales MenuStrip en el formulario primario MDI.
Consulte también
Se aplica a
Merge(ToolStrip, ToolStrip)
Combina dos objetos ToolStrip de tipos distintos.
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
Parámetros
- sourceToolStrip
- ToolStrip
Objeto ToolStrip que se va a combinar con el objeto ToolStrip al que hace referencia el parámetro targetToolStrip
.
- targetToolStrip
- ToolStrip
Objeto ToolStrip que recibe el objeto ToolStrip al que hace referencia el parámetro sourceToolStrip
.
Devoluciones
Es true
si la combinación se realiza correctamente; en caso contrario, es false
.
Ejemplos
En el ejemplo de código siguiente se combinan elementos de menú en función de las opciones especificadas. Este ejemplo forma parte de un ejemplo más grande disponible en la información general de la ToolStripManager clase.
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
Comentarios
Use el ToolStripManager.Merge método para combinar ToolStrip objetos de diferentes tipos.
Use el ToolStripManager.Merge método para combinar ToolStrip objetos de tipo idéntico, como ToolStrip objetos con otros ToolStrip objetos, MenuStrip objetos con otros MenuStrip objetos, etc.
La ToolStrip.AllowMerge propiedad debe establecerse true
en para ambos ToolStrip objetos, o este método devuelve false
.
Nota
Si hay dos MenuStrip controles en un formulario secundario MDI, establecer IsMdiContainer true
en para el formulario primario combina el contenido de solo uno de los MenuStrip controles. Use Merge para combinar el contenido de controles secundarios adicionales MenuStrip en el formulario primario MDI.