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

Системная платформа - продукт для комплексной автоматизации процессов предприятия от Wonderware.

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

Сообщение Anahta » Пн июн 01, 2009 7:56 am

Нужно вызвать контекстное меню в символе по нажатию правой кнопки мыши, например, на какой-нибудь 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();

но не работает
Anahta
 
Сообщения: 4
Зарегистрирован: Пт апр 25, 2008 11:56 am

Сообщение ora01555 » Ср сен 22, 2010 12:50 pm

Код: Выделить всё
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);

А что толку... Как обработать событие?
ora01555
 
Сообщения: 1
Зарегистрирован: Ср сен 22, 2010 4:52 am

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

Сообщение LexSL » Вт июл 26, 2011 6:41 pm

Создаёте свой контрол в 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);
            }
        }
    }
LexSL
 
Сообщения: 80
Зарегистрирован: Вт дек 14, 2010 2:53 pm


Вернуться в Wonderware System Platform

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 10