首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > VB Dotnet >

VB2005中文本框的两个小疑点

2012-02-05 
VB2005中文本框的两个小问题1.当文本框得到焦点时选中所有内容在6.0中PrivateSubText1_GotFocus()Text1.Se

VB2005中文本框的两个小问题
1.当文本框得到焦点时选中所有内容
在6.0中
Private   Sub   Text1_GotFocus()
      Text1.SelStart   =   0
      Text1.SelLength   =   Len(Text1.Text)
End   Sub
这样是可以的
在2005中
        Private   Sub   TextBox1_GotFocus(ByVal   sender   As   Object,   ByVal   e   As   System.EventArgs)   Handles   TextBox1.GotFocus
                TextBox1.SelectionStart   =   0
                TextBox1.SelectionLength   =   TextBox1.TextLength
        End   Sub
却不行

2.能否禁止文本框不接受粘贴功能,或是有粘贴功能时就触发某一事件?

[解决办法]
.NET Framework 类库
TextBoxBase.ShortcutsEnabled 属性
注意:此属性在 .NET Framework 2.0 版中是新增的。

获取或设置一个值,该值指示是否启用已定义的快捷方式。
属性值
如果启用快捷方式,则为 true;否则为 false。

备注
使用 ShortcutsEnabled 属性来启用或禁用下面的组合快捷键:

Ctrl+Z

Ctrl+E

Ctrl+C

Ctrl+Y

Ctrl+X

Ctrl+Backspace

Ctrl+V

Ctrl+Delete

Ctrl+A

Shift+Delete

Ctrl+L

Shift+Insert

Ctrl+R

可以重写此属性以指定其他快捷键。

[解决办法]
1、
TextBox1.SelectAll() '选中全部

2、

Private Sub TextBox1_KeyPress(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles TextBox1.KeyPress
If (Asc(e.KeyChar)) = 22 Then 'Ctrl+V 无效
e.Handled = True
End If
End Sub

3、鼠标右键



[解决办法]
在VB2005中,你的GetFocus代码是有用的.只不过由于GetFocus调用在Click这前,因此当点下鼠标时,本来全选的状态被冲掉了.

你看看我下面给的代码,可以解决你的第一个问题,不要忘了给分噢!

Public Class Form1
Dim blnFlag As Boolean = False
Private Sub TextBox1_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles TextBox1.Click
If blnFlag Then TextBox1.SelectAll()
blnFlag = False
End Sub

Private Sub TextBox1_GotFocus(ByVal sender As Object, ByVal e As System.EventArgs) Handles TextBox1.GotFocus
blnFlag = True
End Sub
End Class

热点排行