VB.Net中如何点击TextBox时清除默认值(0)
VB.Net TextBox 清除默认值实现方案
方法1:使用Enter事件(推荐)
Enter事件是控件获取焦点时触发的标准事件,完全可以替代GotFocus的需求。只需判断当前文本是否为默认的"0",是的话清空:
Private Sub TextBox1_Enter(sender As Object, e As EventArgs) Handles TextBox1.Enter If TextBox1.Text = "0" Then TextBox1.Text = "" ' 可选:自动定位光标到文本开头 TextBox1.Select(0, 0) End If End Sub
方法2:使用MouseDown事件(点击时触发)
如果需要用户点击控件就触发(哪怕控件已经有焦点),可以绑定MouseDown事件:
Private Sub TextBox1_MouseDown(sender As Object, e As MouseEventArgs) Handles TextBox1.MouseDown If TextBox1.Text = "0" Then TextBox1.Text = "" TextBox1.Focus() ' 确保控件获得焦点 TextBox1.Select(0, 0) End If End Sub
补充:配合Leave事件恢复默认值
如果希望用户离开控件且文本为空时,自动恢复默认的"0",可以加上Leave事件处理:
Private Sub TextBox1_Leave(sender As Object, e As EventArgs) Handles TextBox1.Leave If String.IsNullOrWhiteSpace(TextBox1.Text) Then TextBox1.Text = "0" End If End Sub
额外提示
如果你的TextBox专门用于数字输入,推荐直接使用NumericUpDown控件,它自带默认值设置和焦点行为,无需手动写事件逻辑。
内容的提问来源于stack exchange,提问作者Ann
相关产品推荐
相关产品推荐

