2005年4月,Visual Studio.NET 2005 beta 2版终于发布了。在这个版本中,除了.net framework 2.0在语言特性等方面有了很大的增强外,在Visual Studio.NET 2005本身,也增加了很多新的功能,使的无论在winform还是webform的开发上,都大为方便。在本文中,将以最新的beta 2版本为蓝本,介绍Visual Studio.NET 2005,在winform应用的开发上其中在输入功能方面的一些新的改进。
首先,我们来介绍下,在Visual Studio.NET 2005中,在winform的设计中,提供了更为方便的掩码输入框(maskedit)。所谓的掩码输入框,指的是设计者可以预先先定义好数据的输入规则和格式,从而使用户必须按照该规则来进行输入,当用户不按照规则输入时,会显示错误的信息。这样的应用是很广泛的,比如,要求用户输入电话号码,要按照电话区号+电话号码的形式输入,如(020)88888888。那么在Visual Studio.NET 2005 中,如何进行这样的设置呢?
我们打开Visual Studio.NET 2005 beta 2,使用VB.NET ,新建立一个winform的应用,叫"txtinput",之后在工具箱中,往窗体拖放一个maskedtextbox控件。要注意的是,当你拖拉完该控件到窗体上后,会发现控件的右上角有个提示框,点其中的"set mask",在弹出的窗口(如图1)中,可以看到预先为我们设置了一些掩码的规则,比如电话号码等。这里,我们按自己的规则重新设置。在其中的MASK文本框中输入我们的掩码规则,并在下面的TRY IT输入框中,尝试按照规则输入一个电话号码,如图2。
图1 |
图2 |
接下来,点击maskedtextbox,在其属性框中,我们重点考察其中的三个属性:
MASK |
显示该maskedtextbox中的掩码规则 |
BeepOnError |
当用户输入错误时,如果该属性设置为true,则计算机发出警告提示音 |
PromptChar |
当用户在掩码框输入时,掩码框中预先给用户提示的格式。比如,promptchar设置为?时,用户看到的掩码框,在没输入前,会看到下图的样子 |
图3 |
下面,我们以一个例子来运行这个maskedtextbox.再往窗体增加一个checkbox,一个label,一个textbox,分别按如下进行属性的设置。
控件类型 |
控件名称 |
属性值 |
Checkbox |
cbMaskCompleted |
"Mask Completed" |
Label |
lblText |
"Text" |
TextBox |
txtInput |
|
接下来,在maskedtextbox的textchanged事件中,写入如下代码
Private Sub MaskedTextBox1_TextChanged( _ ByVal sender As System.Object, _ ByVal e As System.EventArgs) Handles MaskedTextBox1.TextChanged cbMaskComppleted.Checked = MaskedTextBox1.MaskCompleted txtText.Text = MaskedTextBox1.Text End Sub |
运行后,如下图所示
图4 |
当用户在Phone number的掩码框中输入完电话号码后,checkbox框会自动被选中,并且text文本框中会同步显示用户的输入。
接下来,我们再介绍Visual Studio.NET 2005 中,另一个为增强用户输入而新增加的功能。那就是文本框的自动记忆提示功能。这个功能我们平时也很常见,比如,当你在IE浏览器中输入地址时,IE会自动将你之前浏览过的网页以下拉列表显示出来给你选择,有的时候,当你输入地址的一部分时,IE会启动自动提示功能,将类似的匹配的地址马上显示给你,以加快用户的选择。下面介绍下Visual Studio.NET 2005中的文本框里新增加的这个功能。
我们首先往窗体中加入一个文本框,然后在其属性框中,将其autocompletemode的属性设置为suggest,如下图所示:
图5 |
其中,有三类属性可供我们选择:
·suggest:以列表框的提示形式给用户选择。
·append:当用户输入时,系统自动根据以往的记录,提示用户输入。
·suggestappend:结合以上两种形式
当设置了autocompletemode属性后,还要设置提示的来源,此时要设置autocompletesource属性,该属性有以下几种:
·FileSystem 最近录入过文件的路径
·HistoryList IE的历史记录
·RecentlyUsedList 开始菜单里"用户最近用过的文档"
·AllUrl 所有最近访问过链接
·AllSystemSources 所有的文件和访问过的链接
·CustomSources 用户自定义的数据提示来源。
·ListItems 提示数据来自其他控件,如combox等。
程序运行如下所示:
查看本文来源