将文本框的属性Locked设置为True.
Text1.Locked = True
方法一:(有光标闪烁,输入、删除等操作无效)
方法二:(无光标闪烁,不能输入、删除,界面变色、文字反白)
Text1.Enabled = False
方法三:(有光标闪李宽烁,可删除,不能输入)
此法用两个API函数,略为复杂些纯扰枯。请在标准工程添加两个按钮和一个文本框:
Option Explicit
Private Declare Function GetWindowLong Lib "user32" Alias "GetWindowLongA"做洞 (ByVal hwnd As Long, ByVal nIndex As Long) As Long
Private Declare Function SetWindowLong Lib "user32" Alias "SetWindowLongA" (ByVal hwnd As Long, ByVal nIndex As Long, ByVal dwNewLong As Long) As Long
Const GWL_STYLE = (-16)
Const ES_NUMBER = &H2000&
Public Sub SetNumber(NumberText As TextBox, Flag As Boolean)
Dim CurrentStyle As Long, NewStyle As Long
'返回正常样式
CurrentStyle = GetWindowLong(NumberText.hwnd, GWL_STYLE)
If Flag Then
CurrentStyle = CurrentStyle Or ES_NUMBER
Else
CurrentStyle = CurrentStyle And (Not ES_NUMBER)
End If
'设置新样式
NewStyle = SetWindowLong(NumberText.hwnd, GWL_STYLE, CurrentStyle)
NumberText.Refresh '刷新
End Sub
Private Sub Command1_Click()
SetNumber Text1, True
Text1.SetFocus
Private Sub Command2_Click()
SetNumber Text1, False
Private Sub Form_Load()
Command1.Caption = "禁止输入"
Command2.Caption = "可以输入"
其实,VB本身的文本框也具备了这个功能,只是并不是所有时候都可以当你的界面上,如果只有这个文本框可以接收焦点,那你按Tab键就能插入,而当你的界面上,如果除了这个文本框外,还有能接枯改收焦点的控件,那按Tab键就成了转换焦点的作用根据这一点,你在你的界面上,可以将那些能接收焦点滚闭的控件的Enabled属性设置成False,需要用的时候,再设置成True,如果这样不方便,你可以用标签框代替命令按钮等,这样还不行的话,你可以将这个没备判文本框放在一个单独的窗口中,用模式窗口的方式弹出进行输入,这样应该没有问题了
以上就是土嘎嘎小编大虾米为大家整理的vbtext不让用户输入_vb文本框如何改为禁止输入?相关主题介绍,如果您觉得小编更新的文章对您有所帮助,不要忘记讲本站分享给您身边的朋友哦!!