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

ASP.NET
Validation服务器控件:ValidationSummary控件
ASP.NET教程:URL重写的实现
ASP.NET巧妙实现无刷新更换CSS样式
ASP.NET教程:eval()函数详解
LINQ学习笔记:结构化且类型安全的查询
LINQ学习笔记:Lambda表达式
LINQ学习笔记:复合查询和Lambda表达式语法
LINQ学习笔记:查询是怎么执行的
LINQ学习笔记:子查询和延迟执行
LINQ学习笔记:创建更加复杂查询的策略
LINQ学习笔记:对象初始化器
LINQ学习笔记:解释查询(Interpreted Queries)
LINQ学习笔记:表达式树
LINQ学习笔记:过滤Filtering
LINQ学习笔记:选取Select
LINQ学习笔记:Join和Group Join
LINQ学习笔记:排序Ordering
LINQ学习笔记:分组Grouping
LINQ学习笔记:Set操作符
LINQ学习笔记:转换方法

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


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-11-03   浏览: 95 ::
收藏到网摘: 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