Модераторы: Partizan, gambit
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> ContextMenuStrip работает но не так, ContextMenuStrip 
V
    Опции темы
larinva
Дата 26.8.2010, 10:58 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 294
Регистрация: 24.7.2006

Репутация: нет
Всего: 1



Всем привет! 
Помогите разобраться. Ситуация такая. Добавляю картинки на панель при щелчке правой кнопки мыши выводится контекстное меню "Оповещение", при клике на него ничего не происходит, а должно добавиться  в eventForm.eventCheckedListBox.Items.Add(ws.Name); название выделенной картинки,  вот код
Код

public void clickWorkStat_MouseClick(object sender, MouseEventArgs e)
        { 
            if (e.Button == MouseButtons.Right)
            {
                ContextMenuStrip cm = new ContextMenuStrip();
                cm.Items.Add("Оповещение");

                cm.ItemClicked +=new ToolStripItemClickedEventHandler(contextMenuStrip1_ItemClicked);
          
               cm.Show((Control)sender, e.X, e.Y);
               
            } 
        }

Код

void contextMenuStrip1_ItemClicked(object sender, ToolStripItemClickedEventArgs e)
        {
            WorkStat ws = sender as WorkStat;
            if (ws != null)
            {
                eventForm.eventCheckedListBox.Items.Add(ws.Name);
                eventForm.ShowDialog();
            }

что не так делаю плизззз!!!
PM MAIL   Вверх
larinva
Дата 26.8.2010, 12:05 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 294
Регистрация: 24.7.2006

Репутация: нет
Всего: 1



что не так  smile 
PM MAIL   Вверх
larinva
Дата 26.8.2010, 12:51 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 294
Регистрация: 24.7.2006

Репутация: нет
Всего: 1



ну кто нибудь отзовитесь ткните, что не так плизззз
PM MAIL   Вверх
Xonxt
Дата 26.8.2010, 18:38 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 103
Регистрация: 24.1.2006
Где: Украина / Одесса

Репутация: 1
Всего: 1



Я могу и ошибаться, но по-моему проблема в том, что у вас здесь:
Код
void contextMenuStrip1_ItemClicked(object sender, ToolStripItemClickedEventArgs e)
        {
            WorkStat ws = sender as WorkStat;
            if (ws != null)
            {
                eventForm.eventCheckedListBox.Items.Add(ws.Name);
                eventForm.ShowDialog();
            }
 в качестве sender выступает не ваша картинка, на которую вы кликнули, а сам ContextMenuStrip. 

Я бы попробовал как-то так (код не проверял)
Код
private WorkStat activeWs; // сюда сохранять ссылку на щелкнутый объект 
public void clickWorkStat_MouseClick(object sender, MouseEventArgs e)
        { 
            activeWs = sender as WorkStat;  // сохранили выбранный WorkStat

            if (e.Button == MouseButtons.Right)
            {
                ContextMenuStrip cm = new ContextMenuStrip();
                cm.Items.Add("Оповещение");

                cm.ItemClicked +=new ToolStripItemClickedEventHandler(contextMenuStrip1_ItemClicked);
          
               cm.Show((Control)sender, e.X, e.Y);
               
            } 
        }

void contextMenuStrip1_ItemClicked(object sender, ToolStripItemClickedEventArgs e)
        {
            if (activeWs != null)
            {
                eventForm.eventCheckedListBox.Items.Add(activeWs.Name);
                eventForm.ShowDialog();
            }

PM MAIL ICQ Skype   Вверх
larinva
Дата 27.8.2010, 08:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 294
Регистрация: 24.7.2006

Репутация: нет
Всего: 1



При таком раскладе ругается на activeWs

Ошибка    1    "NetworkMonitoring.MainForm.activeWs" является "поле", но используется как "тип"    g:\NetworkMonitoring\NetworkMonitoring\MainForm.cs    110    15    NetworkMonitoring

PM MAIL   Вверх
larinva
Дата 27.8.2010, 12:31 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 294
Регистрация: 24.7.2006

Репутация: нет
Всего: 1



что нужно сделать?
PM MAIL   Вверх
larinva
Дата 27.8.2010, 12:58 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 294
Регистрация: 24.7.2006

Репутация: нет
Всего: 1



прошу прощения тупонул не стер ws activeWs ws = sender as WorkStat;  тема закрыта smile

Добавлено через 12 секунд
с меня +
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Прежде чем создать тему, посмотрите сюда:
mr.DUDA
THandle

Используйте теги [code=csharp][/code] для подсветки кода. Используйтe чекбокс "транслит" если у Вас нет русских шрифтов.
Что делать если Вам помогли, но отблагодарить помощника плюсом в репутацию Вы не можете(не хватает сообщений)? Пишите сюда, или отправляйте репорт. Поставим :)
Так же не забывайте отмечать свой вопрос решенным, если он таковым является :)


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, mr.DUDA, THandle.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Общие вопросы по .NET и C# | Следующая тема »


 




[ Время генерации скрипта: 0.0468 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.