Camarades,Создание нового экземпляра окна по строке Тип
У меня есть приложение WindowForm и содержит несколько форм, каждое из которых имеет определенное имя. Ну, я хотел разработать класс, который управляет созданием этих окон, где через тип параметра экрана (ее имя) система создает его для меня ...
Я думаю в собственности " AcessibleName "в MenuItem, введите имя класса, который я хочу. Затем щелкнуть по каждому пункту, система выполняет следующей верификацию
private void mnMenu_ItemClicked(object sender, ToolStripItemClickedEventArgs e)
{
try
{
if (!String.IsNullOrEmpty(((MenuStrip)sender).AccessibleName))
{
string[] _Parametros = ((MenuStrip)sender).AccessibleName.Split(uConstantes.CtSeparadorMenu);
uMenu.CreateWindow(((MenuStrip)sender).AccessibleName, _Parametros);
}
}
catch (uException __Excp)
{
throw __Excp;
}
}
uMenu.CreateWindow и в классе, я получил бы параметры и создавать новый объект, и отобразить его. Кто-нибудь есть идеи? Отражение решает эту проблему? (К сожалению, я много об отражении не знаю)
Благодаря
Camarade, Это правило не распространяется на всех и, согласно моим правилам программирования, обычно помещает конкретные имена и имеет тенденцию варьироваться в зависимости от случая. Ответил на ваш вопрос? Я попытаюсь реализовать это решение. Спасибо –
@ Ph.E: Я предполагаю, что мой вопрос был больше по строкам, всегда ли так, что нажатие на MenuItem1 должно отображать Form1? Если да, почему бы просто не сказать 'new Form1()' в обработчике кликов для MenuItem1? –
@Jacob G: Почему существует ряд настроек, которые будут переданы в виде массива. Если я использую событие OnClick, это будет очень загрязнять код, оставив его очень сегментированным. –