Y a-t-il un moyen de générer de manière programmable un événement de clic sur une case à cocher? Je cherche un équivalent à boutonner.performclick (); p>
7 Réponses :
Pourquoi avez-vous besoin de simuler un clic, cette ligne de code ne correspond pas à votre besoin?
private void CheckBox1_CheckedChanged(Object sender, EventArgs e) { MessageBox.Show("You are in the CheckBox.CheckedChanged event."); }
J'ai posté ceci mais la question indique "cliquez sur l'événement". Cela ne générera pas de clic événement.
Peut-être que je refactoriserai le contrôle et j'utiliserai l'événement à carreaux à carreaux ... Tout ce qui sera plus facile.
L'OP pourrait-il expliquer pourquoi c'était la réponse choisie, quand il ne répond pas à la question, qui est de tirer parti de l'événement OnClick ?!
J'ai extrapolé que OP ne connaissait pas l'événement à carreaux. Tout en ne répondant pas à sa question spécifique, il résout son intention de la racine d'être notifiée lorsqu'une case à cocher est modifiée par programmation.
Je crée toujours un nouveau poste de travail pour que je ne puisse pas rechercher cela correctement pour le moment, mais avec UI Automation peut-être qu'il est possible que la case à cocher prend en charge le iinvokeprovider et vous pouvez utiliser le invoquer la méthode ? P>
Je ne pense pas que vous puissiez générer un événement de clic de cette façon sans appeler directement le gestionnaire d'événements. Mais vous pouvez faire cela:
checkBox.Checked = !checkBox.Checked;
Pourquoi voulez-vous générer un événement de clic sur la case à cocher?
Si vous souhaitez activer la valeur: P>
HandleCheckBoxClick(theCheckBox);
J'essaie de tester une forme méchante, qui permet certains des contrôles contenant dans le ..._ cliquez sur le gestionnaire d'événements.
Soyez prudent - vous ne voulez pas appeler cette méthode à partir de ThecheckBox_Click et Thecheckbox_Checkedchanged tel qu'il sera appelé deux fois lorsque la case à cocher est cliquée.
@GRZENIO: activation / désactivation des commandes dans le Cliquez sur CODE> Même une case à cocher n'est pas une bonne idée; Et si la propriété code> cochée code> est attribuée par code? Cela ne déclenche pas l'événement code> Cliquez sur CODE> et que l'interface utilisateur sera dans un état incohérent. Vous devriez probablement laisser ce code être exécuté à la suite de l'événement code> checkedchanged code> à la place.
Ces solutions ci-dessus Cochez la case Cochez la case.CheckedChangedChanged.
Si vous souhaitez appeler explicitement cliquez sur Evénement, vous pouvez ceci: P>
checkBox1_Click(checkBox1, null);
Cela aurait dû être la réponse
Cela n'appelle que le gestionnaire d'événements de clic, il ne "génère" pas de clic et ne modifie pas la valeur de la case à cocher.
Vous ne spécifiez pas quel type de contrôle de case à cocher. ASP.NET ou Windows?
Assum de contrôle de la case à cocher Web, il s'agit de la manière de le déclencher à l'aide de l'appel JavaScript à partir de l'intermédiaire de Code-Ber ... p>
appeler une fonction JavaScript du code derrière p>
ScriptManager.RegisterStartupScript(this.Page, Page.GetType(), "text", "Func()", true);
La touche approche # 2 essaie de faire la même chose, mais sans réflexion: p> code>
PerformClick () code> La méthode valide le contrôle actif, testez si le contrôle actif peut perdre la mise au point actuelle. Il existe deux façons d'éventuellement faire la même chose pour une case à cocher code>. L'approche n ° 1 consiste à utiliser la réflexion pour appeler les méthodes
internes code> à la classe code> Classe:
Changer la propriété vérifiée comme Jeff suggéré pas suffisant? Peux-tu élaborer?
Les formulaires ASP.NET ou Windows?