Страница 1 из 1

Контекстное меню

СообщениеДобавлено: Пн июн 01, 2009 7:56 am
Anahta
Нужно вызвать контекстное меню в символе по нажатию правой кнопки мыши, например, на какой-нибудь rectangle1

открываю animations - action script - on right click

создаю контекстное меню, в котором две строки "Да" и "Нет":

Код: Выделить всё
Dim contextMenu As System.Windows.Forms.ContextMenuStrip;
Dim yesMenuItem As System.Windows.Forms.ToolStripMenuItem;
Dim noMenuItem As System.Windows.Forms.ToolStripMenuItem;
yesMenuItem.Text = "Да";
noMenuItem.Text  = "Нет";
contextMenu.Items.Add(yesMenuItem);
contextMenu.Items.Add(noMenuItem);


как присоединить теперь это контекстное меню к моему rectangle1?
объект сам на себя ссылаться не хочет
по идее в конце надо дописывать
Код: Выделить всё
contextMenu.Show();

но не работает

СообщениеДобавлено: Ср сен 22, 2010 12:50 pm
ora01555
Код: Выделить всё
Dim contextMenu = new System.Windows.Forms.ContextMenuStrip();
Dim yesMenuItem = new System.Windows.Forms.ToolStripMenuItem("Yes");
Dim noMenuItem = new System.Windows.Forms.ToolStripMenuItem("No");
Dim ts = New System.Windows.Forms.ToolStrip();

contextMenu.Items.Add(yesMenuItem);
contextMenu.Items.Add(noMenuItem);

contextMenu.show(System.Windows.Forms.Cursor.Position.X,System.Windows.Forms.Cursor.Position.Y);

А что толку... Как обработать событие?

Re: Контекстное меню

СообщениеДобавлено: Вт июл 26, 2011 6:41 pm
LexSL
Создаёте свой контрол в Visual Studio - "Windows Forms Control Library". Кидаете на "холст" визуальный элемент ContextMenuStrip, добавляете ему свои MenuItem.
Объявляете паблик событие
Код: Выделить всё
public event EventHandler YesMenuClick;

в обработчике события MenuClick "поджигаете" свое событие.

Компилите, потом dll-ку импортируете в IDE, создаете свой Symbol, вставляете импортированный контрол, в его списке событий появится ваше событие "YesMenuClick"... Делайте дальше че хотите.

Если все получилось, выпить залпом кружку пива.:)

Пример:
Код: Выделить всё
public partial class UserControl1 : UserControl
    {
        public UserControl1()
        {
            InitializeComponent();
        }
        public event EventHandler YesMenuClick;
        private void yesToolStripMenuItem_Click(object sender, EventArgs e)
        {
              System.Media.SystemSounds.Beep.Play();
            if (YesMenuClick != null)  {
               YesMenuClick.Invoke(this, e);
            }
        }
    }