2010-03-09 3 views
2

Comment puis-je accéder au résultat d'une instruction if dans un contrôle utilisateur?comment accéder à l'instruction i dans usercontrol

UserControl code: 

public bool SendBack(bool huh) 
{ 
    if(huh) 
     huh = true; 
    else huh = false; 

    return huh; 
} 

Et dans un autre projet que je suis en train d'y accéder comme ceci:

private void button1_Click(object sender, EventArgs e) 
{ 
    MyControl.TextControl t = (MyControl.TextCOntrol)sender; 
    if(t.SendBack(true)) 
    { 
     // Do something. 
    } 
} 
+2

Et que se passe-t-il en ce moment? –

+0

Pour l'instant, il dit juste "Impossible de lancer le type RichTextBox à MyControl.TextControl" ... Et je suis un peu confus –

Répondre

1

Dans ce cas, je chose que l'expéditeur sera le button1, donc il ne sera pas coulable à votre usercontrol ...

Vous aurez besoin d'un formulaire de référence du conteneur (formulaire/panneau/...) qui contient votre usercontrol.

De plus, je sais que cela peut être pour plus de simplicité, mais vous pouvez changer

public bool SendBack(bool huh) 
{ 
    if(huh) 
     huh = true; 
    else huh = false; 

    return huh; 
} 

à

public bool SendBack(bool huh) 
{ 
    return huh; 
} 

Vous pouvez également jeter un oeil à Control.ControlCollection.Find Method

recherches pour contrôles par leur propriété Nom et construit un tableau de tous les contrôles qui correspondent.

+0

Désolé je suis allé à appuyer sur la flèche vers le haut, mais ma souris a sauté, défait la downvote :) - I Je suis en train d'essayer de faire référence au Formulaire contenant ma commande USB maintenant :) merci –

+1

Merci beaucoup beaucoup! Control.ControlCollection.Find a bien fonctionné, maintenant je peux accéder au bon contrôle :) –

Questions connexes