ToolStripManager.Merge Метод
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Объединяет элементы управления ToolStrip.
Перегрузки
Merge(ToolStrip, String) |
Объединяет два объекта ToolStrip одинакового типа. |
Merge(ToolStrip, ToolStrip) |
Объединяет два объекта ToolStrip различных типов. |
Merge(ToolStrip, String)
Объединяет два объекта 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
Объект ToolStrip, объединяемый с объектом ToolStrip, на который ссылается параметр targetName
.
- targetName
- String
Имя объекта ToolStrip, который получает объект ToolStrip, на который ссылается параметр sourceToolStrip
.
Возвращаемое значение
Значение true
, если слияние прошло успешно; в противном случае — false
.
Исключения
Параметр sourceToolStrip
или targetName
имеет значение null
.
sourceToolStrip
или targetName
ссылаются на один ToolStrip.
Комментарии
ToolStripManager.Merge Используйте метод для объединения ToolStrip объектов одинакового типа, таких как ToolStrip объекты с другими ToolStrip объектами, MenuStrip объектами с другими MenuStrip объектами и т. д.
ToolStripManager.Merge Используйте метод для объединения ToolStrip объектов разных типов.
Свойство ToolStrip.AllowMerge должно иметь значение true
для обоих ToolStrip объектов, а исходные и целевые типы должны быть идентичными или этот метод возвращает false
.
Примечание
Если в дочерней форме MDI есть два MenuStrip элемента управления, параметр IsMdiContainer для true
родительской формы объединяет содержимое только одного из MenuStrip элементов управления. Используется для Merge объединения содержимого дополнительных дочерних MenuStrip элементов управления в родительской форме MDI.
См. также раздел
Применяется к
Merge(ToolStrip, ToolStrip)
Объединяет два объекта 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
Объект ToolStrip, объединяемый с объектом ToolStrip, на который ссылается параметр targetToolStrip
.
- targetToolStrip
- ToolStrip
Объект ToolStrip, который получает объект ToolStrip, на который ссылается параметр sourceToolStrip
.
Возвращаемое значение
Значение 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 объекты с другими ToolStrip объектами, MenuStrip объектами с другими MenuStrip объектами и т. д.
Свойство ToolStrip.AllowMerge должно иметь значение true
для обоих ToolStrip объектов, или этот метод возвращает false
.
Примечание
Если в дочерней форме MDI есть два MenuStrip элемента управления, параметр IsMdiContainer для true
родительской формы объединяет содержимое только одного из MenuStrip элементов управления. Используется для Merge объединения содержимого дополнительных дочерних MenuStrip элементов управления в родительской форме MDI.