最近我得到了一个在Visual Basic中制作一个非常基本的数独游戏的任务。 为此,我使用.NET Framework的Visual Studio Ultimate 2013 Update 4。
我已经到了可以检查许多文本框中哪一个有焦点的地步。这样也可以更改相应文本框的backgroundColor。 我使用这个方法完成了这个:
Private Sub TextBox_GotFocus() Handles TextBox1.GotFocus, TextBox2.GotFocus, TextBox3.GotFocus
Me.ActiveControl.BackColor = Color.Aquamarine
End Sub
当任何文本框失去焦点时,将它重新变为白色我使用了这个:
Private Sub TextBox_LostFocus() Handles TextBox1.LostFocus, TextBox2.LostFocus, TextBox3.LostFocus
Me.ActiveControl.BackColor = Color.White
End Sub
现在我的问题是:
(关闭时会产生NullReferenceException)
答案 0 :(得分:1)
添加对象,EventArgs作为参数。
该对象将是调用该事件的调用控件。
Private Sub TextBox_GotFocus(sender As Object, e As EventArgs) Handles TextBox1.GotFocus, TextBox2.GotFocus, TextBox3.GotFocus
CType(sender, TextBox).BackColor = Color.Aquamarine
End Sub
Private Sub TextBox_LostFocus(sender As Object, e As EventArgs) Handles TextBox1.LostFocus, TextBox2.LostFocus, TextBox3.LostFocus
CType(sender, TextBox).BackColor = Color.White
End Sub