Winforms Visual Basic.net中文本框失去焦点的问题

Winforms Visual Basic.net中文本框失去焦点的问题,winforms,visual-studio-2013,textbox,Winforms,Visual Studio 2013,Textbox,最近我接到一个任务,用Visual basic制作一个非常基本的数独游戏。 为此,我使用Visual Studio Ultimate 2013 Update 4和.NET Framework 我已经到了可以检查多个文本框中哪一个有焦点的地步。这样还可以更改相应文本框的背景色。 我使用以下方法完成了此操作: Private Sub TextBox_GotFocus()处理TextBox1.GotFocus、TextBox2.GotFocus、TextBox3.GotFocus Me.ActiveC

最近我接到一个任务,用Visual basic制作一个非常基本的数独游戏。 为此,我使用Visual Studio Ultimate 2013 Update 4和.NET Framework

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

Private Sub TextBox_GotFocus()处理TextBox1.GotFocus、TextBox2.GotFocus、TextBox3.GotFocus
Me.ActiveControl.BackColor=Color.Aquamarine
端接头

若要在任何文本框失去焦点时将其重新着色为白色,我使用以下方法:

Private子文本框_LostFocus()处理TextBox1.LostFocus、TextBox2.LostFocus、TextBox3.LostFocus
Me.ActiveControl.BackColor=Color.White
端接头

现在我的问题是:

  • 为什么当我关闭应用程序时它会崩溃?我该如何解决这个问题
  • (关闭时,它会给出一个NullReferenceException)

  • 这是实现我想要的目标的正确方法吗?还是有更有效的方法

  • 添加对象、事件参数作为参数

    )

    对象将是调用事件的调用控件

    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
    

    工作起来很有魅力!非常感谢你!谢谢你简单明了的解释:DI现在把它作为一个答案添加了进来,作为一个“新”成员,我还不能很遗憾地投票。