当前位置: 首页 > 图文教程 > 网络编程 > ASP.NET > 禁止在TextBox中输入

ASP.NET
Asp.Net使用POST方法最简单的实现
实现.NET应用程序的自动更新
优秀ASP.NET程序员修炼之路
ASP.NET中实现模板页
在ASP.Net 2.0中实现多语言界面的方法
小议优化ASP.NET应用性能之Cache篇
.net开发投票机的思路
浅析CMS内容管理系统的两种方案
ASP.NET 2.0中动态修改页面标题
“您无权查看该网页”的原因和解决方法
将一个图片按比例缩放显示在一个Frame中
编程使用资源文件实现多语言页面(In Action)
.Net编程的多个小技巧
asp.net2.0学习历程-菜鸟到中级程序员的飞跃
asp.net如何连接sql server2000数据库
FCKeditor 2.6在ASP.NET中的配置方法
使用ASP.NET开发移动通讯的几种方法
ASP.NET 2.0的URL映射的实现方法
如何在Asp.net中使用HtmlArea编辑器
ASP.NET 2.0 中实现跨页提交

ASP.NET 中的 禁止在TextBox中输入


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-11-03   浏览: 90 ::
收藏到网摘: n/a

方法一:(有光标闪烁,输入、删除等操作无效)

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
End Sub

Private Sub Command2_Click()
SetNumber Text1, False
Text1.SetFocus
End Sub

Private Sub Form_Load()
Command1.Caption = "禁止输入"
Command2.Caption = "可以输入"
End Sub