Один contextMenuStrip для разных форм C#
25-10-2023, 22:50
- Разработка / .NET C#
- Roman
- 33
- 0
Вариант размещения одного contextMenuStrip на разных формах для разных элементов.
В основном пространстве имен добавляем класс с contextMenuStrip:
namespace TestContextMenu
{
static class Program
{
/// <summary>
/// The main entry point for the application.
/// </summary>
[STAThread]
static void Main()
{
Application.EnableVisualStyles();
Application.SetCompatibleTextRenderingDefault(false);
Application.Run(new Form1());
}
}
static class Menushki
{
public static ContextMenuStrip menu1 = new ContextMenuStrip();
}
}
В нашем случае это класс Menushki
Затем при загрузке приложения, создаем саму менюшку, можно программно задать все элементы и параметры, но на мой взгляд проще сделать конструктором и при загрузке первой формы просто назначить:
private void Form1_Load(object sender, EventArgs e)
{
Menushki.menu1 = contextMenuStrip1;
}
Далее если надо использовать это меню в любой форме просто при загрузке формы ассоциируем это меню с необходимым элементом. Можно и менять его из любой формы:
private void Form2_Load(object sender, EventArgs e)
{
this.ContextMenuStrip = Menushki.menu1;
}

Комментариев 0