Login
网站首页 > 文章中心 > 其它

vbtext不让用户输入_vb文本框如何改为禁止输入?

作者:小编 更新时间:2023-07-16 14:43:23 浏览量:247人看过

将文本框的属性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文本框如何改为禁止输入?相关主题介绍,如果您觉得小编更新的文章对您有所帮助,不要忘记讲本站分享给您身边的朋友哦!!

版权声明:倡导尊重与保护知识产权。未经许可,任何人不得复制、转载、或以其他方式使用本站《原创》内容,违者将追究其法律责任。本站文章内容,部分图片来源于网络,如有侵权,请联系我们修改或者删除处理。

编辑推荐

热门文章