You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何实现点击Button1仅向之前选中的TextBox输入数字1?

解决方案

要实现点击Button1时向最后选中/获得焦点的TextBox输入数字1,你需要跟踪哪个TextBox是当前的焦点控件,具体实现步骤如下:

1. 声明类级变量

在窗体类的顶部声明一个变量,用于保存最后获得焦点的TextBox:

Private lastFocusedTextBox As TextBox

2. 处理TextBox的焦点事件

给TextBox1和TextBox2的GotFocus事件添加处理程序,更新lastFocusedTextBox的值:

Private Sub TextBox1_GotFocus(sender As Object, e As EventArgs) Handles TextBox1.GotFocus
    lastFocusedTextBox = DirectCast(sender, TextBox)
End Sub

Private Sub TextBox2_GotFocus(sender As Object, e As EventArgs) Handles TextBox2.GotFocus
    lastFocusedTextBox = DirectCast(sender, TextBox)
End Sub

3. 处理Button1的点击事件

在Button1的Click事件中,判断lastFocusedTextBox是否有效,然后向其中写入数字1:

Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
    If lastFocusedTextBox IsNot Nothing Then
        ' 覆盖TextBox原有内容,设置为"1"
        lastFocusedTextBox.Text = "1"
        ' 若需要在原有内容后追加"1",替换成下面这行
        ' lastFocusedTextBox.Text &= "1"
    End If
End Sub

原有代码无效的原因

你之前的代码逻辑完全偏离需求:

  • 代码写在TextBox1.TextChanged事件中,只有当TextBox1文本变化时才会触发,和Button1的点击操作没有直接关联
  • Button1.PerformClick()是主动触发Button的点击事件,并非判断用户是否点击了Button,逻辑逻辑完全错误

内容的提问来源于stack exchange,提问作者Ducko Uranus

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.20 02:44:53