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

ASP.NET
ASP.NET 2.0服务器控件开发的基本概念
教你如何实现ASP.NET中网站访问量的统计
.Net基础:ASP.NET网站开发的架构设计
ASP.NET应用技巧:非托管COM组件的使用
.Net基础:ASP.NET中的session存储模式运用
.Net的精髓——XML和SOAP
.NET 4.0改进的介绍
使用.NET正则表达式区分中英文
ASP.NET开发中关于Web标准的几点建议
ASP.NET开发安全问题
谈.NET反射的封装
ASP.NET用户控件说明和添加事件
C#编程实现动态生成Word文档
Asp.net2.0之自定义控件ImageButton
.net程序员,该不该学IL?
利用ajax.dll进行asp.net ajax开发
软件编程走火入魔之:女人的脸 男人的代码
分页那回事?
ASP.NET WebForm页面内容输出方式
浅析ASP.NET的IIS映射

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


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