DomainUpDown 控件在外观上都是由一个文本框和一对可以上下移动列表的箭头组成 如下图一所示
专注于为中小企业提供网站建设、成都网站建设服务,电脑端+手机端+微信端的三站合一,更高效的管理,为中小企业余江免费做网站提供优质的服务。我们立足成都,凝聚了一批互联网行业人才,有力地推动了1000+企业的稳健成长,帮助中小企业通过网站建设实现规模扩充和转变。
图一 控件外观
其功能类似于组合框 您可以将任何类型的数据放入列表 同时在文本框中显示单个字符串值 让用户可以通过单击上箭头和下箭头来浏览数据
在工具箱中 它的图标显示如下图二所示
图二 工具箱中的DomainUpDown 控件
DomainUpDown 控件的主要属性为 Items ReadOnly Wrap
一 改变文字显示与上下箭头的方向
我们可以通过 TextAlign 属性来改变控件中的文本对齐方式 通过 UpDownAlign 属性改变它的上下按钮对齐方式
示例 在DomainUpDown 控件 Text 属性中输入 即文本框显示的字符 把 TextAlign 属性 设置为Center UpDownAlign 属性设置为Left 显示效果如下图三所示
图三 改变DomainUpDown 控件显示外观
二 ReadOnly 属性
ReadOnly 属性用于设置用户是否只能使用向上或向下按钮更改文本 默认值为False 如果为False 则用户可以在文本框中进行输入 如果为True 则文本输入框变为灰色 用户只能通过Up Down按钮来选择列表 且当用户使用键盘键入的时候 控件自动完成匹配 如假设列表中存在下面三个字符串的项 aa b 控件ReadOnly 属性为True 则当我们在文本框中键入 时候 控件将自动匹配字符串 如下图四所示
图四游歼 DomainUpDown 自动匹配用户输入
三 为DomainUpDown 控件添加\删除列表项
通过 字符串集合编辑器 编辑
我们可以在设计视图中为 DomainUpDown 控件添加或者删除列表项 步骤如下
在 属性 窗口中找到 Items 属性 单击属性后的 按钮 弹出 字符串集合编辑器 然后进行编辑 注意每行为一个项
使用代码添加\删除
可以使用 Items 集合的 Add 方法将项添加到项列表的末尾 使用 Insert 方法将项插入到列表中的指定位置
可以使用 Items 集合的 Remove 方法按照名称移除项 使用 RemoveAt 方法按照项的位置移除项
示例代码如下
在控件列表尾部添加一个神皮冲字符串 cccc
DomainUpDown Items Add( cccc )
把字符串 cccc 插入到索引位置 (提示 索引是从 开始握行)
DomainUpDown Items Insert( cccc )
删除列表中的字符串为 cccc 的项
DomainUpDown Items Remove( cccc )
删除列表中索引位置为 的项
DomainUpDown Items RemoveAt( )
使用Clear方法清除DomainUpDown 控件的所有项
DomainUpDown Items Clear()
四 DomainUpDown 控件的其它属性
Sorted 属性 指示项集合是否排序 当 Sorted 设置为 true 时 将按字母顺序对集合排序 默认为False
Wrap 属性 当 Wrap 设置为 true 时 如果达到了集合中的最后一项并继续滚动 则列表将从第一项重新开始 看起来像是连续的
lishixinzhi/Article/program/net/201311/11362
处理数据行(DataRow)
Windows窗体中的数据绑定列表框和组合框很节省时间 典型的代码如下(假定已枝老经建立了SqlDataAdapter或者其猛颤升它部件获取数据)
Dim ds As New DataSet() SqlDataAdapter Fill(ds Customers ) ListBox DataSource = ds Tables( Customers ) ListBox DisplayMember = CompanyName ListBox ValueMember = CustomerID
在这种情况下 代码使用Northwind数据库的顾客记录工作 DisplayMember属性设置为你希望用户在列表框中看到的记录字段 它是customers表的CompanyName 通常ValueMember属性设置为数据表中的一个键字段 对于customer来说是CustomerID 一旦用户选择了列表框中的一行 很容易使用列表框的SelectedValue属性获得键字段
MsgBox(ListBox SelectedValue)
但是有可能需要一个与被选择项相关的整个数据行对象的引用 例如 如果被选择的行需要被删除 就不知道键了 你需要一个数据行的引用以使用Delete方法
典型的Visual Basic开发者通常这样想 我已经得到了该行的键了 我将编写一些逻辑来查找使用该键的行 这样可以实现 但是有更好的实现方法 可以使用一行代码获取与列表框中选项关联的数据行
Dim dr As DataRow = CType(ListBox SelectedItem DataRowView) Row
通常该逻辑不会凭直觉出现 即使对经验丰富的开发者 为了解释这是怎样实现的 我把上面的一行拆成几行 下面的代码与上面代码的功能相同
Dim drv As DataRowView drv = CType(ListBox SelectedItem DataRowView) Dim dr As DataRow dr = drv Row
DataRowView类是数据行的包装 它被多个Windows窗体控件使用 它使得显示与控件中的数据行相关的数据更加容易 当列表框被数据绑定到数据表时(假定列表框中的有些行当洞槐前被选定了) 列表框的SelectedItem属性保存了一个DataRowView对象
这意味着我们能把列表框的SelectedItem属性转换到DataRowView对象 这就是上面代码中的第二行实现的 接着DataRowView暴露一个Row属性 它指向被包装的数据行 上面的代码声明了一个数据行并设置了Row属性
转换对象的类型以访问它的接口的技术在Visual Basic 中不是经常使用 但是在Visual Basic NET中这是经常的 有了上面的例子后 大多数有经验的开发者迅速跟上了这种技术
数据行的引用(dr)可用于用任何方式维护行 访问数据行中的任何特定字段是可行的 行中的数据可以被改变 能使数据行的Delete方法把该行标识为删除 或者从数据表的行集合中删除该行 下面的代码标识删除了一行
dr Delete()
lishixinzhi/Article/program/net/201311/12974
1、用VS2012新建一个VB窗口吵御正应用程序,进入窗体设计视图,添加一个菜单。
2、右击需要更改为组合框的菜单拆空项,在弹出的内容选择“转换为”-"ComboBox"。
3、对应的菜单项便由按钮变成了组合框。
4、运行程序可以看到刚刚添加的“串口”菜单项是以组合框的形式升悔出现的。
5、结束调试,回到窗体设计,右击“串口”菜单项,选择“属性”。
6、关注“设计”下的Name,这个就是刚刚添加的组合框菜单项的名称,可以通过这个名称对该菜单项进行操作,可以看到在VS2012的VB中是可以使用汉字作为控件名称的。
7、在窗体的Load事件中添加该组合框的初始化代码,即添加“串口1”、“串口2”、“串口3”等。