基本上,我的Windows窗体应用程序是一个程序,您可以在文本框中输入一个人的姓名,并将其高度以厘米为单位输入另一个文本框。单击名为btnAddNewPerson的按钮时,文本框中的输入将转到2个名为 lstNames 和 lstHeight 的不同列表。一旦添加了一定数量的人并单击了计算按钮(btnCalc),就会出现一个消息框,其中包含最高的最小和平均高度。
我遇到的问题是,一旦创建了一定数量的条目,我希望“添加新人”按钮消失(变为不可见)。并且我希望计算按钮仅在一定数量的条目出现后才出现(不希望过早计算)。
我尝试过以下代码但不起作用。 程序崩溃了第二个我移动鼠标,我得到的错误是
“Height Finder.exe中出现未处理的'System.NullReferenceException'类型异常 附加信息:对象引用未设置为对象的实例。“
Private Sub frmHeightFinder_MouseMove(sender As Object, e As MouseEventArgs) Handles Me.MouseMove
If lstNames.Count >= 4 Then
btnAddNewPerson.Visible = False
Else btnAddNewPerson.Visible = True
End If
End Sub
答案 0 :(得分:0)
如果在单击按钮之前它(即移动鼠标时)崩溃,则鼠标事件调用出现问题。更好的方法是,如果满足条件(lstnames.Count> 4),则检查AddPerson方法,然后使其不可见。此外,禁用按钮可能是个好主意,而不是让它不可见。 一个例子:
Private Sub btnAddNewPerson_Click(sender As Object, e As EventArgs)
' Add person to the list code here
If lstNames.Count >= 4 Then
btnAddNewPerson.Enabled = False
btnCalc.Enabled = True ' I assume this is what you want here
End If
End Sub