此代码使用普通按钮正常工作但是devexpress中的按钮为我提供了一些错误。 它说发件人和e没有被宣布..
Protected Overrides Function ProcessCmdKey(ByRef msg As System.Windows.Forms.Message, ByVal keyData As System.Windows.Forms.Keys) As Boolean
Select Case keyData
Case Keys.Enter
btnPayment_Click(sender, e)
Case Keys.F2
Case Keys.F5
Case Keys.F6
Case Keys.Escape
Me.Close()
Case Else
Return MyBase.ProcessCmdKey(msg, keyData)
End Select
Return True
End Function
答案 0 :(得分:2)
在VB 2010中,我使用了PerformClick。这对你有用吗?恩。 btnPayment.PerfformClick()
答案 1 :(得分:1)
你试图通过传递两个未声明的变量(发送者,e)来调用btnPayment_Click处理程序。
如果你只想要btnPayment_Click中的代码执行而它不依赖于sender参数或e参数那么你仍然需要传递一些东西 - 即:
btnPayment_Click(null, null)
更好的结构可能是这样的:
protected void btnTest_Click(object sender, EventArgs e)
{
SomeSub();
}
protected void SomeOtherFunctionThatNeedsToCallTheCode()
{
SomeSub();
}
protected void SomeSub()
{
// ...
}
请参阅:C#: calling a button event handler method without actually clicking the button