Camarades,Création d'une nouvelle instance de la fenêtre par chaîne Type
J'ai une application WindowForm et contient plusieurs formulaires, chacun avec un nom spécifique. Eh bien, je voulais développer une classe qui gère la création de ces fenêtres, où, grâce au paramètre type d'écran (son nom), le système en crée un pour moi ...
Je pense à la propriété " AcessibleName "dans le MenuItem, mettez le nom de la classe que je veux. Puis cliquez sur chaque élément, le système effectue la vérification suivante
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 et dans la classe, je recevrais les paramètres et instancier un nouvel objet, et l'afficher. Est-ce que quelqu'un a une idée? La réflexion résout ce problème? (Malheureusement, je ne sais pas grand-chose à propos de la réflexion)
Merci
Camarade, Cette règle ne s'appliquera pas à tout le monde, et d'après mes règles de programmation, habituellement mettre des noms spécifiques et ont tendance à varier dans les cas. Répondu à ta question? Je vais essayer d'implémenter cette solution. Merci –
@ Ph.E: Je suppose que ma question était plus dans le sens de, est-il toujours le cas en cliquant sur MenuItem1 devra afficher Form1? Si oui, pourquoi ne pas simplement dire 'new Form1()' dans le gestionnaire de clic pour MenuItem1? –
@Jacob G: Pourquoi existe-t-il un certain nombre de paramètres, qui seront transmis sous forme de tableau. Si j'utilise l'événement OnClick va polluer très le code, le laissant très segmenté. –