文本框在 Visual Basic .net 中失去焦点时出现问题

Trouble with textboxes losing focus in Visual Basic .net

最近我接到了一项任务,要用 Visual Basic 制作一个非常基本的数独游戏。 为此,我将 Visual Studio Ultimate 2013 Update 4 与 .NET Framework 一起使用。

我已经到了可以检查许多文本框中的哪一个具有焦点的地步。这样也可以更改相应文本框的背景颜色。 我已经通过使用此方法完成了此操作:

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

现在我的问题是:

  1. 为什么应用程序在我关闭时会崩溃?我该如何解决这个问题?

(关闭时抛出 NullReferenceException)

  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