TextBox选中问题,只是第一次选中,怎么搞?
vb.net中对textbox全选的问题,只是我鼠标第一次单击的时候选中,再单击一次就不是选中,光标停在点击的地方,请问怎么作出来?
查了很多资料,只是说什么在Enter事件中添加
Me.TXT_D0020.SelectionStart = 0
Me.TXT_D0020.SelectionLength = Len(TXT_D0020.Text) 但是都没有用,请高手帮忙
[解决办法]
Dim counter As Integer
Private Sub TextBox1_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles TextBox1.Click
counter += 1
If counter = 1 Then
TextBox1.SelectAll()
End If
End Sub
Private Sub TextBox1_LostFocus(ByVal sender As Object, ByVal e As System.EventArgs) Handles TextBox1.LostFocus
counter = 0
End Sub
[解决办法]
初始设置TextBox1.Cursor 属性为Default
代码如下:(你要的样子我不是很理解,这个代码只能做到你的第一次选中无效)
Dim NUM As Integer = 0
Private Sub TextBox1_MouseClick(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles TextBox1.MouseClick
NUM = NUM + e.Clicks
If NUM < 2 Then
Me.SelectNextControl(TextBox1, True, True, True, True)
Exit Sub
Else
TextBox1.Cursor = Cursors.IBeam
TextBox1.SelectAll()
End If
End Sub
[解决办法]
.NET有这个事件
MSDN解释如下:
########################################################
.NET Framework 类库
Control.LostFocus 事件
请参见 示例
全部折叠 全部展开 语言筛选器: 全部 语言筛选器: 多个 语言筛选器: Visual Basic 语言筛选器: C# 语言筛选器: C++ 语言筛选器: J# 语言筛选器: JScript
Visual Basic(声明)
Visual Basic(用法)
C#
C++
J#
JScript
当控件失去焦点时发生。
命名空间:System.Windows.Forms
程序集:System.Windows.Forms(在 system.windows.forms.dll 中)
语法
Visual Basic(声明)
Public Event LostFocus As EventHandler
Visual Basic(用法)
Dim instance As Control
Dim handler As EventHandler
AddHandler instance.LostFocus, handler
########################################################
一楼说的意思是,
你新建一个工程
添加二个文本框,双击这个文本框出现代码编辑窗口,把全部的代码替换成这个运行就行了,
Public Class Form1 Dim counter As Integer Private Sub TextBox1_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles TextBox1.Click counter += 1 If counter = 1 Then TextBox1.SelectAll() End If End Sub Private Sub TextBox1_LostFocus(ByVal sender As Object, ByVal e As System.EventArgs) Handles TextBox1.LostFocus counter = 0 End SubEnd Class