欢迎光临
我们一直在努力

Visual Basic中文本框处理技巧集萃-.NET教程,VB.Net语言

建站超值云服务器,限时71元/月

在visual basic中,文本框(textbox)是最常用的控件,熟练运用文本框是开发出高质量的应用程序的基础。笔者在从事应用程序开发中,摸索出有关文本框的应用技巧,写出来与vb爱好者共享。

 

  1、设置只读文本框

  有些时候在窗口显示一段信息,但又不希望用户去改变它,怎样实现文本的只读呢?首先,我们可以利用标签框(label)的只读属性,以标签来代替文本框以实现只读属性,但也可以用小程序实现真正的文本框的只读。

  sub text1_keypress (keyascii as integer)

  keyascii = 0

  end sub

  或者也可以用sendkey方法使文本框失去焦点,如以下程序:

  sub text1_keydown (keycode as integer, shift as integer)

  sendkeys “{tab}”

  end sub

         或者直接设置控件的属性来实现,具体操作如下:

             设置text1.enabled=true,这样设置后text1无法获得焦点

             设置text1.locked=true,这样设置后text1可以获得焦点

        2、限定文本框的输入内容和格式

  以下程序可以实现限定文本框只能输入数字:

       private sub text1_keypress(keyascii as integer) 
         if keyascii < asc(0) or keyascii > asc(9) then
             keyascii = 0 
             msgbox “请输入数字”
         end if
      end sub

  若想限定文本框输入格式,可以使用vb的format函数,也可以使用专业版的屏蔽控件(masked edit),通过设定屏蔽控件的mask属性可以对文本框的输入格式作精确控制。

  3、为textbox创建快捷键

  vb规定,添加在窗体上的控件均在其tabindex属性中记载其加载顺序,程序运行时焦点按tabindex属性规定的顺序在控件间跳转。而为了简化操作,可vb中为任何具有caption的属性的控制创建快捷键,这通过caption属性中在想作为快捷键的字母前加&号实现。但有一个问题值得注意,而类似文本框这样的控件无caption这样的属性,这时可将标签与文本框同时使用。为lable创建快捷键,标签tabindex属性设置比文本框小1,又因为label不能接收按点,焦点会自动跳至文本框。这相当于为文本框创建了快捷键。具体步骤如下:

  (1)首先绘制标签,再绘制文本框。或随意绘制各种控制,将标签tabindex属性设置比文本框小1

  (2)在标签的caption属性中使用“&”号设定快捷键

  这样就相当于为文本框设定了快捷键,当你按下标签框的快捷键时,焦点就会跳至文本框上。

  4、在设计时实现文本框换行

  对于文本框,在设计属性窗口不能输入换行符,但可以再程序执行时用代码来换行,即使用ascii字符的13和10,如下列小程序就可将两行文本放入文本框:

  sub form_load( )

  nl=chr(13)+chr(10)

  text1.text=“my name is”& nl &“liu qiang”

  end sub

  5、创建口令文本框

  创建口令文本框可用设置属性的方法,也可以通过调用windows的api应用函数接口来实现。首先,文本框的属性passwordchar和maxlength可用来设置口令框。其中passwordchar指定文本框显示的字符,如指定“*”,则在文本框内显示“*”,maxlength确定文本框中能输入几个字符。超过maxlength以后,文本框发出警告声,不能接收更多的字符。若使用windows应用函数接口,可用getwindowlong、setwindowslong和sendmessage等接口函数来实现,有兴趣的读者可查阅windows api函数手册或vb的联机帮助文件,这里就不一一赘述了。

赞(0)
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com 特别注意:本站所有转载文章言论不代表本站观点! 本站所提供的图片等素材,版权归原作者所有,如需使用,请与原作者联系。未经允许不得转载:IDC资讯中心 » Visual Basic中文本框处理技巧集萃-.NET教程,VB.Net语言
分享到: 更多 (0)