如何通过devexpress中的代码触发按钮?

时间:2012-01-16 17:04:48

标签: .net vb.net winforms devexpress

此代码使用普通按钮正常工作但是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

2 个答案:

答案 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