在应用程序中模拟按钮单击(VB.NET)

时间:2012-05-02 23:20:23

标签: vb.net

美好的一天,

在我的应用程序中,我的程序中有Private Sub btnSendSMS_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnSendMessage.Click

我希望在收到短信时模拟我的另一个子(短信接收检测器)内的上述按钮点击。

我该怎么做?我知道这不是最好的做事方式,只是为了学习。感谢。

4 个答案:

答案 0 :(得分:21)

您可以调用Button.PerformClick方法:

btnSendSMS.PerformClick()

答案 1 :(得分:4)

您可以直接调用该功能。

btnSendSMS_Click(Me, EventArgs.Empty) 

答案 2 :(得分:4)

为什么不将代码放在单独的方法中

Private Sub SendSMS()
    ' do your thing
End Sub

并在按钮事件处理程序中调用该方法。

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

现在,您可以在班级的任何地方拨打SendSMS(),而无需像模拟按钮点击那样做一些时髦的事情。

答案 3 :(得分:1)

或者在WPF中使用VB的情况下:

Dim peer As New ButtonAutomationPeer(btnSendSMS)
Dim invokeProv As IInvokeProvider = TryCast(peer.GetPattern(PatternInterface.Invoke), IInvokeProvider)
invokeProv.Invoke()