列表框很有用,但它们有两个缺点。第一,列表框占据许多空间;第二,用户不能输入自己的值,而只能选择列表中的元素。如果要节省空间,或要允许用户输入列表中不存在的值,那么就应使用组合框。
组合框也有一个Items集合,与列表框控件的一样(参见上一节的列表操作)。这里将介绍组合框的基本原理。
首先,将窗体的Size属性改为300,330,为组合框留出空间。接下来,双击工具箱中的“ComboBox”项添加一个新的组合框到窗体中。如下设置组合框的属性:
属性 | 值 |
Name | cboColors |
Location | 64,264 |
Size | 160,21 |
注意,组合框有一个Text属性,而列表框没有。该属性与文本框Text属性的作用相同。当用户从下拉列表中选择一个元素
时,选中元素的值就作为组合框的Text属性值。组合框的缺省行为就是允许用户在控件的文本框部分输入任何文本—即使文本不存在于列表中。下面将简单介绍
如何修改这一行为。
在“属性”窗口中选择Items属性,然后单击出现的按钮 。将下列元素添加到“字符串集合编辑器”中,然后单击“确定”提交输入:
? Black;
? Blue;
? Gold;
? Green;
? Red;
? Yellow。
按F5键运行项目。单击组合框右边的箭头,将显示一个下拉列表(见图7.14)。
图7.14 组合框可节省空间 |
现在试着输入Magenta。Visual C#
允许这样做。实际上你可以输入任意的文本。这可能是你所希望的,但通常我们要限制用户输入列表中出现的值。要实现这一点,修改组合框的
DropDownStyle属性。关闭窗体停止运行项目,将组合框的DropDownStyle属性改为DropDownList。按F5键运行项目,然
后试着在组合框中输入。你将发现不能这样做。但是,如果你输入的字符是列表中元素的开头,Visual C# 将选择最匹配的元素。
当设置为DropDownList时,组合框将不允许输入文字,因此用户只能从列表中选择。实际上,单击组合框中的“文本框”部分将打开列表,与单击下拉箭头一样。
现在停止运行项目并保存你的工作。可以看到,组合框和列表框提供了类似的功能,实际上它们的列表编码是一样的。但是,这两个
控件的用途稍微不同。使用哪一个控件更好?这得看情况。在你使用专业的应用程序时,注意它们的界面,随后你就能对在特定的情况下使用哪个控件有所领会了。
文章评论(0条评论)
登录后参与讨论