Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / Наследовать Context Menu / 10 сообщений из 10, страница 1 из 1
11.11.2004, 11:51
    #32777132
Worobjoff
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Наследовать Context Menu
Задача такая: надо чтобы каждый элемент меню имел свойство Tag.
Если есть подобный пример или ссылка, покажите пожалуйста.
Понимаю, что надо унаследовать элемент, котрый включается в коллекцию меню. Вопрос в том, чтобы она (коллекция) ссылалась на UserControl.
Наследованные контролы создавать научился и они работают, с контролом, содрежащим коллекцию пока неумею обращаться и в моих книгах ответ не могу найти.
...
Рейтинг: 0 / 0
11.11.2004, 11:54
    #32777141
Worobjoff
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Наследовать Context Menu
Задача такая: надо чтобы каждый элемент меню имел свойство Tag.
Если есть подобный пример или ссылка, покажите пожалуйста.
Понимаю, что надо унаследовать элемент, котрый включается в коллекцию меню. Вопрос в том, чтобы она (коллекция) ссылалась на UserControl.
Наследованные контролы создавать научился и они работают, с контролом, содрежащим коллекцию пока неумею обращаться и в моих книгах ответ не могу найти.
...
Рейтинг: 0 / 0
11.11.2004, 12:08
    #32777197
Por
Por
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Наследовать Context Menu
А в чем, собственно, проблема?

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
public class MyMenuItem : MenuItem
{
   private object tag = null;
   public object Tag
   {
      get{return tag;}
      set{tag = value;}
   }
}

MyMenuItem item = new MyMenuItem();

ContextMenu menu = new ContextMenu();

menu.MenuItems.Add((MenuItem)item);

((MyMenuItem)menu.MenuItems[0]).Tag = "Tag";
...
Рейтинг: 0 / 0
11.11.2004, 12:13
    #32777210
Alexey Kudinov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Наследовать Context Menu
WorobjoffЗадача такая: надо чтобы каждый элемент меню имел свойство Tag.
Если есть подобный пример или ссылка, покажите пожалуйста.
Понимаю, что надо унаследовать элемент, котрый включается в коллекцию меню. Вопрос в том, чтобы она (коллекция) ссылалась на UserControl.
Наследованные контролы создавать научился и они работают, с контролом, содрежащим коллекцию пока неумею обращаться и в моих книгах ответ не могу найти. Не все так хорошо, как хотелось бы. В случае меню MS дизайнер меню не понимает другие типы меню, кроме своего родного MenuItem, увы.
П.э. советую посмотреть на работу с IExtenderProvider - позволяет расширять свои компоненты новыми свойствами.

PS: если меню создаются динамически, то тут проблем нет - просто наследуйтесь от MenuItem, добавляете тэг и все
...
Рейтинг: 0 / 0
11.11.2004, 12:16
    #32777221
Alexey Kudinov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Наследовать Context Menu
...
Рейтинг: 0 / 0
11.11.2004, 15:09
    #32777706
Worobjoff
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Наследовать Context Menu
Дизайнер как раз понимает MyMenuItem.Tag. Если переписать тип в "Windows Form Designer generated code"

Унаследованный ContextMenu в ToolBox не появляется :-(
Похоже копать MenuItemsCollection бесполезно...
...
Рейтинг: 0 / 0
11.11.2004, 15:22
    #32777743
Alexey Kudinov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Наследовать Context Menu
WorobjoffДизайнер как раз понимает MyMenuItem.Tag. Если переписать тип в "Windows Form Designer generated code"
Вот именно. Если переписать. А ведь по хорошему дизайнер должен был бы понимать любой объект, имплементирующий некоторый интерфейс. И позволять с ним работать без ручного исправления Windows Form Designer generated code.

П.э. я и сказал о IExtenderProvider
С помощью него вы можете в дизайн тайме нарисовать свое меню и в дизайн тайме же выставить ему Tag (прямо в коллекции свойств)
...
Рейтинг: 0 / 0
11.11.2004, 15:31
    #32777772
Alexey Kudinov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Наследовать Context Menu
Alexey KudinovП.э. я и сказал о IExtenderProvider
С помощью него вы можете в дизайн тайме нарисовать свое меню и в дизайн тайме же выставить ему Tag (прямо в коллекции свойств) Вот что я имел ввиду. LocalizationID - это Tag фактически.
...
Рейтинг: 0 / 0
11.11.2004, 17:04
    #32778049
Worobjoff
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Наследовать Context Menu
Где можно прочитать про IExtenderProvider?
В MSDN - совсем мало.
...
Рейтинг: 0 / 0
11.11.2004, 17:07
    #32778057
Alexey Kudinov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Наследовать Context Menu
WorobjoffГде можно прочитать про IExtenderProvider?
В MSDN - совсем мало.
http://www.codeproject.com/dotnet/iextenderprovider.asp
...
Рейтинг: 0 / 0
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / Наследовать Context Menu / 10 сообщений из 10, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]