Форум программистов, компьютерный форум, киберфорум
Наши страницы
C# Windows Forms
Войти
Регистрация
Восстановить пароль
 
nofate
1 / 1 / 1
Регистрация: 02.04.2014
Сообщений: 20
#1

Получить ссылку на экземпляр по имени

01.08.2014, 13:58. Просмотров 447. Ответов 2
Метки нет (Все метки)

Задача простая но чё-то не могу сообразить. Короче есть treeview которое по определённой логике заполняется нодами. Есть несколько контекстных меню. для каждого node.level оно своё
Хочу чтобы при автоматическом наполнении treeview, каждому ноду автоматом присваивалось свойство ContextMenuStrip исходя из того на каком он уровне. Менюхам имена дал "cms0", "cms1", ... номер соответствует левелу нода. После создания экземпляра нода сразу присваивать свойство ContextMenuStrip.
Пока придумал только запихнуть их в массив и присваивать как
C#
1
node.ContextMenuStrip = cmss[node.level]
А без массива никак? Что-нибудь типа GetObject(Name)? Типа

C#
1
node.ContextMenuStrip = GetObjectByName("cms" + (node.level).ToString());

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь.

0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
01.08.2014, 13:58
Ответы с готовыми решениями:

Как правильно передать ссылку на экземпляр объекта из одной формы в другую?
Добрый день. Подскажите пожалуйста, как правильно передать ссылку на...

Узнать, есть ли в Dictionary искомый ключ, если есть, то вернуть ссылку на экземпляр ключа
Здравствуйте, у меня есть Dictionary: Dictionary<Keys, List<string>> Mass =...

Как получить искомый экземпляр класса одной поисковой строкой LINQа
Здравствуйте, Вопрос по LINQ Скажем есть класс Person и есть список этих...

Получить ссылку на медиафайл VkNet
С помощью метода Messages.GetHistory я получаю историю сообщений пользователя с...

Как получить ссылку на объект?
Ребят, возникла такая проблема, нигде не могу найти внятного решения. Есть...

2
XRoy
861 / 711 / 305
Регистрация: 15.04.2013
Сообщений: 2,047
Записей в блоге: 5
01.08.2014, 14:09 #2
nofate,
Если я вас правильно понял то вам надо http://msdn.microsoft.com/en-us/library/963f81yd(v=vs.110).aspx
1
nofate
1 / 1 / 1
Регистрация: 02.04.2014
Сообщений: 20
01.08.2014, 19:35  [ТС] #3
Помогло. Пришлось создать ComponentResourceManager
и потом через него с приведением типа назначил контекстные меню
C#
1
node.ContextMenuStrip = rm.GetObject("cms" + (node.Level).ToString()) as ContextMenuStrip;
Странно что у класса Form уже нет инициализированного такого менеджера чтобы можно было динамично в рантайме отлавливать свои экземпляры по имени. Ну... пусть будет так ))

Добавлено через 4 часа 17 минут
Ан-нет! Это не то, компилятор ошибок не выдаёт, а в рантайме он нифига не находит. Это менеджер исключительно ресурсов, а не экземпляров объектов... рано радовался. При рантайме валит исключения.
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
01.08.2014, 19:35

Получить ссылку на объект из обработчика
Хочу повесить одну функцию-обработчик на несколько кнопок(их будет около ста)....

Как получить ссылку на класс объекта?
У меня есть контрол Panel класса MyToolTip. Как можно получить ссылку на...

Как получить ссылку на нажатую кнопку?
Здравствуйте. Сразу код: private void Form1_Load(object sender, EventArgs e)...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru