56.C ListBox控件

56.C ListBox控件摘要 ListBox 控件显示一个项列表 用户可以从中选择一个或多个项 如果项总数超过可显示的数量 则会自动向 ListBox 控件添加滚动条 MultiColumn 属性设置为 true 时 列表框将显示多个列中的项 并显示水平滚动条

大家好,欢迎来到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

56.C ListBox控件

56.C ListBox控件

代码添加项

56.C ListBox控件

private void btnAdd_Click(object sender, EventArgs e) { lstMain.Items.Add("Andriod"); }

删除选中的选项

56.C ListBox控件

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]); } } }

清除

56.C ListBox控件

private void btnClear_Click(object sender, EventArgs e) { lstMain.Items.Clear(); }

载入列表

56.C ListBox控件

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()

56.C ListBox控件

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

(0)
上一篇 2025-10-11 11:26
下一篇 2025-10-11 11:45

相关推荐

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注微信