Simuler un clic de bouton dans l'application (VB.NET)

Bonne journée,

dans ma demande, j'ai Private Sub btnSendSMS_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnSendMessage.Click dans mon programme.

je voudrais simuler un clic de bouton de ce qui précède dans mon autre sub (un détecteur de réception SMS) quand un SMS est reçu.

Comment dois-je faire? Je sais que ce n'est pas la meilleure façon de faire les choses, mais c'est pour apprendre. Grâce.

8
demandé sur Jpeh Noynay 2012-05-03 03:20:22

4 réponses

Vous pouvez appeler le Button.PerformClick méthode:

btnSendSMS.PerformClick()
21
répondu Jay Riggs 2012-05-02 23:34:52

Vous pouvez appeler la fonction directement.

btnSendSMS_Click(Me, EventArgs.Empty) 
4
répondu jarchuleta 2012-05-02 23:25:03

pourquoi ne pas mettre le code dans une méthode séparée

Private Sub SendSMS()
    ' do your thing
End Sub

et dans votre bouton event handler, appelez cette méthode.

Private Sub btnSendSMS_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnSendMessage.Click
    Call SendSMS()
End Sub

Maintenant, vous pouvez appeler SendSMS() n'importe où dans votre classe sans avoir à faire quelque chose de funky comme des clics de bouton de simulation.

4
répondu Steven Liekens 2012-05-03 08:40:41

ou en cas d'utilisation de VB dans WPF:

Dim peer As New ButtonAutomationPeer(btnSendSMS)
Dim invokeProv As IInvokeProvider = TryCast(peer.GetPattern(PatternInterface.Invoke), IInvokeProvider)
invokeProv.Invoke()
1
répondu Omidoo 2013-05-01 23:37:37