我一直致力于一个VB程序,它将帮助我们的内部操作,在这个程序中,我创建了一个表单(子表单),它接收一些信息并将其保存到数据库中。
我最近将.KeyDown添加到我的主框中,以便用户可以按Enter键而不必按下按钮。 (参见下面的标题)。 (这是您输入的第一个字段)
Private Sub Model_Family_Validate(sender As Object, e As KeyEventArgs) Handles txtbox_modelfamily.Validated, txtbox_modelfamily.KeyDown
在我的父表单上,我有一个注销按钮,即EventArgs
,如果我输入我的子表单,然后注销它崩溃说
An unhandled exception of type 'System.InvalidCastException' occurred in System.Windows.Forms.dll
Additional information: Unable to cast object of type 'System.EventArgs' to type 'System.Windows.Forms.KeyEventArgs'.
如果我删除了我的KeyDown事件,Keyeventargs
删除了Eventargs
,它就可以了。
另一个奇怪的事情是我可以按下退出之外的任何其他按钮。
Public Sub LogOff_Click(sender As Object, e As EventArgs) Handles btn_m_logoff.Click
Me.Close()
frm_login.Show()
frm_login.txtbox_loginpassword.Text = ""
End Sub
任何人都可以理解为什么会这样做吗?
如需了解更多信息,请告知我们,谢谢。
答案 0 :(得分:0)
如果我正确理解您的问题,则在单击“输入”按钮时尝试注销。您还有一个按钮,显示“注销”,该按钮应该执行与按Enter键相同的功能。如果是这样,您应该使用表单的Me.AcceptButton
属性并将其设置为现有的注销按钮。您可以在设计模式下或在运行时执行此操作。
每当按下Enter键时,此属性应运行Private Sub Model_Family_Validate
子例程中的代码。
答案 1 :(得分:0)
感谢大家的回答,这个问题现已解决。我已经选择了严格的选项,它突出了问题,现在已经纠正了。
我将这两个事件分成了他们自己的部分,现在就像我想要的那样。