Здравствуйте, thilorn, Вы писали:
T>Гм... Свойства Item и DropDownItem... Или я не понял вопрос?
Нет, я имел в виду реализована ли настройка menustripa путем drag and dropa (перетаскивание новых итемов, удаление старых, изменение имени, настройка горячих клавиш и т. д.) или ее необходимо вручную реализовывать.
Если это не реализовано, то при ручном кодинге для menustrip будет два режима — рабочий и режим настройки.
Естессно в рабочем режиме все работает — итемы реагируют на события (клик, даун, ап...). А вот в режиме настройки необходимо отключить реакцию на события, то есть каким-то макаром отрубить срабатывание делегатов Click, MouseDown и т. д.
Ясно, что в пределах одного приложения это можно сделать тупой проверкой в вышеописанных событиях типа:
private void ItemClick(object sender, EventArgs e)
{
if(!CustomizeMode)//Флаг режима настройки
{
//действия
}
}
Однако моя задача осложняется тем, что у меня будет не просто приложение, а расширяемый framework, то есть подключаемые команды (menuitems) может написать любой сторонний разработчик. А если он забудет вставить в свой код обработчика вышеописанную проверку?
-=Не бойтесь совершенства, ибо оно Вам не грозит! (С. Дали)=-