我在VB.Net中有一个调用窗体按钮的方法:
Private Sub BUTTON_CAL( _
ByVal frm As Object, ByVal e As System.Windows.Forms.KeyEventArgs)
If e.KeyCode = Keys.A AndAlso e.Modifiers = Keys.Control Then
If frm.AddButton.Enabled = True Then Call frm.AddButton.PerformClick()
e.SuppressKeyPress = True
End if
End Sub
Run Code Online (Sandbox Code Playgroud)
我已将此代码转换为c#
public static void BUTTON_CAL(object frm, System.Windows.Forms.KeyEventArgs e) {
if(e.KeyCode==Keys.A&&e.Modifiers==Keys.Control) {
if(frm.AddButton.Enabled==true) {
frm.AddButton.PerformClick();
}
e.SuppressKeyPress=true;
}
}
Run Code Online (Sandbox Code Playgroud)
在C#.Net中我收到错误
'object'不包含AddButton'的定义,并且没有扩展方法'AddButton'可以找到第一个'object'类型的agument(你是否缺少using指令或汇编引用?)
将'frm'转换为您期望的数据类型(运行时检查是否有效是一个好主意)
Form form = frm as Form;
if( null == form )
// error
form.AddButton(...);
Run Code Online (Sandbox Code Playgroud)