Visual Basic, .NET, ASP, VBScript
 

   
   
     

Форум - .NET

Страница: 1 |

 

  Вопрос: MenuStrip! Плиз, помогите Добавлено: 15.09.06 18:48  

Автор вопроса:  Marki
В меню программно формируется список подменю. Одновременно должен быть выбран флажком только один из пунктов.

1. Как сделать настройки меню чтобы при выборе одного из пунктов отменялся ранее сделанный выбор (или необходимо прописывать ручками все)?
2. После выбора нового пункта необходимо написать кусок кода. Какое событие использовать? (DropDownItemClicked не катит, так как не отслеживает события смены пункта - новый пункт еще оказывается не выбранным, надо что-то происходящее после этого события. DropDownClosed тоже оказалось с этой точки зрения неприемлемым).

Заранее благодарю за помощь - замудохался уже копаться, сил нет... ((

Ответить

  Ответы Всего ответов: 10  

Номер ответа: 1
Автор ответа:
 Viper



ICQ: 249094859 

Вопросов: 0
Ответов: 310
 Профиль | | #1 Добавлено: 16.09.06 07:33
1. Ручками
2. Чем событие Click не подошло?

Ответить

Номер ответа: 2
Автор ответа:
 Marki



Вопросов: 42
Ответов: 94
 Профиль | | #2 Добавлено: 16.09.06 10:06
2. Чем событие Click не подошло?


Еще раз то же самое:
DropDownItemClicked не катит, так как не отслеживает события смены пункта - новый пункт еще оказывается не выбранным, надо что-то происходящее после этого события.
Иначе говоря, существует список в котором могут быть одинаковые пункты, которые ссылаются на разные данные. Проверка по имени пункта таким образом не отвечает необходимому результату. Проверяя же "статус выбора" пунктов в ЭТОМ СОБЫТИИ я не получаю ответа, так как изменения в выборе ЕЩЕ НЕ ПРОИЗОШЛИ.

Ответить

Номер ответа: 3
Автор ответа:
 Viper



ICQ: 249094859 

Вопросов: 0
Ответов: 310
 Профиль | | #3 Добавлено: 18.09.06 11:16
Так как совершенно непонятно что автору таки надо, то может быть стоит:

1. Еще раз пояснить более развернуто что же нужно.
2. Для лучшего понимания требуемого может стоить выложить кусок кода?

Ответить

Номер ответа: 4
Автор ответа:
 Marki



Вопросов: 42
Ответов: 94
 Профиль | | #4 Добавлено: 18.09.06 18:45
Благодарю за содействие - изменение подхода привело к решению задачи несколько иным путем.

Ответить

Номер ответа: 5
Автор ответа:
 VβÐUηìt



Вопросов: 246
Ответов: 3333
 Web-сайт: смекаешь.рф
 Профиль | | #5
Добавлено: 22.09.06 17:21
Чел, спокойно. Я так понимаю, у тебя куча менюшек, с одинаковым именем и индексами? Тогда входи в клик одного из них, пиши цикл от мин. индекса до макс. индекса, сравнивай - если... короче


Private Sub Menu_Click(Index As Integer)
'Галочки меняяяяяем
Dim i As Integer
For i = 0 To Menu.Count - 1
Menu(i).Checked = (i = index)
Next i
'Зырим, чё кликнули
Select Case Index
Case 0:
Case 1:
'Дальше все так перебирай все меню, или вместо селект касы пиши там свой код
End Select
End Sub

Ответить

Номер ответа: 6
Автор ответа:
 EROS



Вопросов: 58
Ответов: 4255
 Профиль | | #6 Добавлено: 22.09.06 18:08
1.DropDownItemClicked и Click это разные события!! (не надо их путать)
2. В случае с галочками целесообразнее отлавливать событие CheckedChanged, а в остальном согласен с предыдущими ораторами..
Что реализовать подобное:
Одновременно должен быть выбран флажком только один из пунктов.
автоматики не предусмотрено.. надо будет писать все ручками...

Ответить

Номер ответа: 7
Автор ответа:
 Marki



Вопросов: 42
Ответов: 94
 Профиль | | #7 Добавлено: 22.09.06 22:35
DropDownItemClicked и Click это разные события!! (не надо их путать)

Несомненно. Но Click использовать не могу просто потому что ЗАРАНЕЕ НЕИЗВЕСТНО какие пункты меню будут, сколько их будет (и будет ли вообще) :)
A DropDownItemClicked как раз из серии того что близко к рассматриваемому ))

Чел, спокойно

Уже спокоен )) Спасибо за помощь всем! Чуть выше было указано что решил проблемку несколько иначе, и вопрос снят.
Еще раз поклон всем откликнувшимся ))

Ответить

Номер ответа: 8
Автор ответа:
 Marki



Вопросов: 42
Ответов: 94
 Профиль | | #8 Добавлено: 22.09.06 22:37
Небольшое пояснение:
Что реализовать подобное:
Одновременно должен быть выбран флажком только один из пунктов

подразумевало наличие (т.е. есть или нет) возможности использовать один из пунктов меню в виде "а-ля контейнер", в пункты дочернего меню - как аналог "radio botton".

Ответить

Номер ответа: 9
Автор ответа:
 EROS



Вопросов: 58
Ответов: 4255
 Профиль | | #9 Добавлено: 22.09.06 23:50
Но Click использовать не могу просто потому что ЗАРАНЕЕ НЕИЗВЕСТНО какие пункты меню будут, сколько их будет (и будет ли вообще)

А что тебе мешает так же динамически добавлять обработчики событий вместе с твоими пунктами меню? В частности события Click.. через AddHandler.. И в этом случае количество меню вообще никакой роли не играют..

Ответить

Номер ответа: 10
Автор ответа:
 Marki



Вопросов: 42
Ответов: 94
 Профиль | | #10 Добавлено: 23.09.06 00:27
А что тебе мешает так же динамически добавлять обработчики событий вместе с твоими пунктами меню


Можно конечно, вместо программы написать ДРУГУЮ программу которая будет создавать ту программу которую мне надо. Только зачем? :)
Мне всего лишь необходимо зафиксировать ФАКТ смены пункта в дочернем меню и определить какая именно смена произошла.
Вся другая обработка данных выполняется в других местах кода и по другим пунктам меню.
Рассматриваемый здесь фрагмент - это всего лишь выбор данных, которые в последствии будут рассматриваться (извлекаются из баз данных, причем в разных базах могут быть сходные данные, т.к. редактирование может производиться разными людьми в разных местах, но возможен вариант когда файлы "сходятся" вместе и базы будут рядом, следовательно при считывании данных из баз можно получить одинаковые данные, которые на самом деле ссылаются на разные файлы. Если конечно понятно смог объяснить)

Ответить

Страница: 1 |

Поиск по форуму



© Copyright 2002-2011 VBNet.RU | Пишите нам