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

ASP.NET
ACCESS数据库访问组件(三)
ACCESS数据库访问组件(四)
在ASP.NET访问Excel文件
使用正则表达式解析的初步体会(固定格式网页解析)
一段找出URL的代码(C#)
C#中的转意字符序列
创建表,创建行,创建列(VB.NET)
刀兄写的IIS管理类(C#)
索引服务调用代码(C#)
VB.NET里奇怪的数组赋值现象
C#运算符的优先顺序
[初学VB.NET]如何防止重复打开MDI子窗体
第二版出错的地方,大家看看第三版我的翻译对么?
VB的API编程精粹
表格架构基本框架DEMO码
用C#实现在客户区拖动窗体(转自MSDN)
在ASP.NET中利用GDI+ 设计Chart控件
关于JAXP,DOM,SAX,JDOM,DOM4J的一些想法
Nucleus.MockAOP.Net:OpenSource .Net AOP FrameWork
VB中打印ACCESS报表

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


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