在窗体中粘贴如下代码就可以看到效果。所有的TextBox的Tab都可以拦截下来。如果指定某个TextBox,你自己修改一点就可以了。
创新互联专注于企业全网营销推广、网站重做改版、南岗网站定制设计、自适应品牌网站建设、成都h5网站建设、商城网站建设、集团公司官网建设、成都外贸网站制作、高端网站制作、响应式网页设计等建站业务,价格优惠性价比高,为南岗等各大城市提供网站开发制作服务。
Protected Overrides Function ProcessCmdKey(ByRef msg As System.Windows.Forms.Message, ByVal keyData As System.Windows.Forms.Keys) As Boolean
If CType(msg.WParam, Keys) = Keys.Tab And TypeOf Control.FromHandle(msg.HWnd) Is TextBox Then
'提示是否继续Tab键盘消息处理
If MessageBox.Show("Tab clicked,continue run?", "Demo", MessageBoxButtons.YesNo, MessageBoxIcon.Asterisk, MessageBoxDefaultButton.Button2) = Windows.Forms.DialogResult.No Then
Return True 'True表示拦截
End If
End If
Return MyBase.ProcessCmdKey(msg, keyData)
End Function
textBox1.Text = "a" vbTab "1" vbLf "b" vbTab "2"
其实是起了作用的,只不过vbTab跟4个字符有关系,所以显示的列,8的倍数个字符和不是8的倍数个字符之间就显示得有差异了。
tab就是如果不够4个字符就补齐4个字符的位置。 超过的话就是补齐4的整倍数个字符。
可以用Replace把他替换成空或别的字符:Vb的TAB表示方式为:vbTab 例:Replace(内容,vbTab,"")
'----------------------edit by yiensoha------2017.05.02-----------------------------------------
Private Sub txtMain_KeyDown(sender As Object, e As KeyEventArgs) Handles txtMain.KeyDown
If (e.KeyCode = 9) Then '表示tab键按下
txtMain.Text = "keytab"
End If
End Sub
在这里一定要注意:如果你要识别tab键,那么必须保证所有控件的tabstop属性均为false,否则的话,tab键会当做控件之间的跳转功能,而不是作为tab键按下。
chr(9),或直接定义一个字符串变量,令值=“在这里敲一下Tab键”
连接时用字符串时加上这个就好了