大家好,欢迎来到IT知识分享网。
摘要
ListBox 控件显示一个项列表,用户可以从中选择一个或多个项。
如果项总数超过可显示的数量,则会自动向 ListBox 控件添加滚动条。 MultiColumn 属性设置为 true 时,列表框将显示多个列中的项,并显示水平滚动条。 MultiColumn 属性设置为 false 时,列表框将显示单个列中的项,并显示垂直滚动条。 ScrollAlwaysVisible 设置为 true 时,无论项目数多少,都会显示滚动条。 SelectionMode 属性确定一次可以选择多少列表项。
正文
属性
BackColor |
获取或设置控件的背景色。 |
ColumnWidth |
获取或设置多列 ListBox 中列的宽度。 |
Enabled |
获取或设置一个值,该值指示控件是否可以对用户交互作出响应。<br><br>(继承自 Control) |
ItemHeight |
获取或设置 ListBox 中项的高度。 |
Items |
获取 ListBox 的项。 |
MultiColumn |
获取或设置一个值,该值指示 ListBox 是否支持多列。 |
Name |
获取或设置控件的名称。<br><br>(继承自 Control) |
ScrollAlwaysVisible |
获取或设置一个值,该值指示是否任何时候都显示垂直滚动条。 |
SelectedIndex |
获取或设置 ListBox 中当前选定项的从零开始的索引。 |
SelectedIndices |
获取一个集合,该集合包含 ListBox 中所有当前选定项的从零开始的索引。 |
SelectedItem |
获取或设置 ListBox 中的当前选定项。 |
SelectedItems |
获取包含 ListBox 中当前选定项的集合。 |
SelectedValue |
获取或设置由 ValueMember 属性指定的成员属性的值。<br><br>(继承自 ListControl) |
SelectionMode |
获取或设置在 ListBox 中选择项所用的方法。 |
Sorted |
获取或设置一个值,该值指示 ListBox 中的项是否按字母顺序排序。 |
Tag |
获取或设置包含有关控件的数据的对象。<br><br>(继承自 Control) |
Text |
获取或搜索 ListBox 中当前选定项的文本。 |
手动界面添加Item
代码添加项
private void btnAdd_Click(object sender, EventArgs e) { lstMain.Items.Add("Andriod"); }
删除选中的选项
private void btnDeleteSelectItem_Click(object sender, EventArgs e) { if (lstMain.SelectedItems.Count > 0) { for (int i = 0; i < lstMain.SelectedItems.Count; i++) { lstMain.Items.Remove(lstMain.SelectedItems[i]); } } }
可以修改SelectionMode试一下多选时,发现会有问题,因为删除Items时,循环最大值会变化
private void btnDeleteSelectItem_Click(object sender, EventArgs e) { if (lstMain.SelectedItems.Count > 0) { int max = lstMain.SelectedItems.Count-1; for (int i = max; i >=0 ; i--) { lstMain.Items.Remove(lstMain.SelectedItems[i]); } } }
清除
private void btnClear_Click(object sender, EventArgs e) { lstMain.Items.Clear(); }
载入列表
internal class User { public string Name { get; set; } public Guid Id { get; set; } public string Email { get; set; } }
List<User> users = new List<User>(); private void InitUser() { users.Add(new User() { Id=Guid.NewGuid(), Name="张三", Email="" }); users.Add(new User() { Id = Guid.NewGuid(), Name = "李四", Email = "" }); users.Add(new User() { Id = Guid.NewGuid(), Name = "王五", Email = "" }); lstMain.DataSource = users; lstMain.DisplayMember = "Name"; }
private void lstMain_SelectedIndexChanged(object sender, EventArgs e) { txtId.Text = ((User)lstMain.SelectedItem).Id.ToString(); txtName.Text = ((User)lstMain.SelectedItem).Name.ToString(); txtEmail.Text = ((User)lstMain.SelectedItem).Email.ToString(); }
重写ToString()
internal class ListItem { public string Name { get; set; } public string Value { get; set; } public override string ToString() { return Name.ToString(); } }
修改载入方式
private void lstMain_SelectedIndexChanged(object sender, EventArgs e) { txtId.Text = ((ListItem)lstMain.SelectedItem).Value; txtName.Text= ((ListItem)lstMain.SelectedItem).Name; } private void button1_Click(object sender, EventArgs e) { lstMain.Items.Add(new ListItem() { Name = "张三", Value = "1" }); lstMain.Items.Add(new ListItem() { Name = "李四", Value = "2" }); lstMain.Items.Add(new ListItem() { Name = "王五", Value = "3" }); }
免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://haidsoft.com/123280.html