C# ListBox 列表箱

1 命名空间与继承

命名空间1:System.Windows.Forms

继承1:

ObjectMarshalByRefObjectComponentControlListControl→ListBox

命名空间2:

命名空间2:System.Windows.Controls

继承2:

ObjectDispatcherObjectDependencyObjectVisualUIElementFrameworkElementControlItemsControlSelector→ListBox

ListBox:表示用于显示项列表的 Windows 控件。

2 常用属性及方法

(1)DataSource(数据源属性):获取或设置此 ListControl 的数据源。

(2)Items:获取ListBox的项。

(3)MultiColumn:获取或设置一个值,该值指示 ListBox 是否支持多列。

(4)SelectedIndex:获取或设置 ListBox 中当前选定项的从零开始的索引。

(5)SelectedItem:获取或设置 ListBox 中的当前选定项。

(6)SelectedItems:获取包含 ListBox 中当前选定项的集合。

(7)Text:获取或搜索 ListBox 中当前选定项的文本。

(8)Dispose():释放由 Component 使用的所有资源。

(9)GetItemText(Object):返回指定项的文本表示形式。

3 实例

现制作一个ListBox选择器,界面布局如下:

 实现功能:①代码添加“列表1”的项内容并显示。

                   ②中间“→”,“←”按钮实现列表1和列表2的项移动功能。

                   ③底部的“获取”按钮点击触发click时间,textBox用于显示列表2的结果。

步骤:(1)在新建的WinForm窗体中拖入两个ListBox(命名为:lit1与lit2),三个按钮(分别命名为:btn12,btn21,btn),一个textBox(命名为:txt)。

           (2)分别添加三个按钮的click事件。

            (3)代码如下:

public partial class Form1 : Form
{
    public Form1()
    {
        InitializeComponent();
        this.lit1.Items.Clear();
        //for循环添加添加DataSource[this.lit1.DataSource = provinces;添加的有问题]
        //this.lit1.DataSource = provinces;
        for (int i = 0; i < provinces.Length; i++)
        {
            this.lit1.Items.Add(provinces[i]);
        }
    }
    //provinces数组:作为lit1的DataSource
    string[] provinces = new string[]{
        "青海省","四川省",
        "黑龙江省","甘肃省","云南省",
        "湖北省","广东省","贵州省","河南省"};

    //btn12事件:将左边的ListBox项移动到右边
    private void btn12_Click(object sender, EventArgs e)
    {
        if (this.lit1.Items.Count > 0)
        {
            Object item1 = this.lit1.SelectedItem;
            if (item1 != null)
            {
                //删除项
                this.lit1.Items.Remove(item1);
                //添加项
                this.lit2.Items.Add(item1);
            }
        }
    }

    //btn21事件:将右边的ListBox项移动到左边
    private void btn21_Click(object sender, EventArgs e)
    {
        if (this.lit2.Items.Count > 0)
        {
            Object item2 = this.lit2.SelectedItem;
            if (item2 != null)
            {
                this.lit2.Items.Remove(item2);
                this.lit1.Items.Add(item2);
            }
        }
    }
    //”获取“按钮:获取右边ListBox(lit2)的所有项,并添加到TextBox中
    private void btn_Click(object sender, EventArgs e)
    {
        this.txt.Clear();
        Object[] ite = new Object[this.lit2.Items.Count];
        for (int i = 0; i < this.lit2.Items.Count; i++)
        {
            this.txt.AppendText(this.lit2.Items[i].ToString()+"\n");
        }
    }
}

效果如下:

4 参考

1. ListBox Class

  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值