powered by simpleCommunicator - 2.0.56     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / Как написать более красиво?
4 сообщений из 4, страница 1 из 1
Как написать более красиво?
    #38490692
Фотография vah
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Скажите пожалуйста,
как написать более красиво (без e.ClickedItem.ToString() == "Добавить")?

автор public void view_MouseUp(object sender, MouseEventArgs e)
{
ContextMenuStrip contexMenuDoc = new ContextMenuStrip();
if (e.Button == MouseButtons.Left) { return; }
contexMenuDoc.Items.Add("Добавить").Enabled = true;

contexMenuDoc.Show(Control.MousePosition);
contexMenuDoc.ItemClicked += contextMenu_ItemClicked;
}


public void contextMenu_ItemClicked(object sender, ToolStripItemClickedEventArgs e)
{

if (e.ClickedItem.ToString() == "Добавить")
{
newForm f = new newForm(BindingSource);
f.ShowDialog();
}
}
Заранее благодарен.
...
Рейтинг: 0 / 0
Как написать более красиво?
    #38490742
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
private struct ContextMenuActionKey
{
    public const string Add = "Add";
}

public void OnContextMenuItemClicked(object sender, ToolStripItemClickedEventArgs e)
{
    var actionKey = Convert.ToString(e.ClickedItem.Tag);

    switch (actionKey)    
    {
        case ContextMenuActionKey.Add:
            newForm f = new newForm(BindingSource);
            f.ShowDialog();
            break;
    }
}

public void OnViewMouseUp(object sender, MouseEventArgs e)
{
    var contexMenu = new ContextMenuStrip();

    if (e.Button == MouseButtons.Left)
    {
        return;
    }

    ToolStripItem item = contexMenu.Items.Add("Добавить");
    
    item.Enabled = true;
    item.Tag = ContextMenuActionKey.Add;

    contexMenu.Show(Control.MousePosition);
    contexMenu.ItemClicked += OnContextMenuItemClicked;
}
...
Рейтинг: 0 / 0
Как написать более красиво?
    #38490796
Pallaris
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Я может чего-то не пойму, но почему не
Код: c#
1.
Item.Click += new System.EventHandler(AddMenuStripClick);



Или так нужен один обработчик на все итемы?
...
Рейтинг: 0 / 0
Как написать более красиво?
    #38490874
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
PallarisЯ может чего-то не пойму, но почему не
Код: c#
1.
Item.Click += new System.EventHandler(AddMenuStripClick);



Или так нужен один обработчик на все итемы?Кстати да.
...
Рейтинг: 0 / 0
4 сообщений из 4, страница 1 из 1
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / Как написать более красиво?
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]