C# Winfom 中ListBox的简单用法

时间:2022-09-03 18:53:31

https://www.cnblogs.com/xielong/p/6744805.html

Winform控件ListBox的用法

1、如何添加listBox的值

this.listBox1.Items.Add("张晓东");

2、如何判断listBox集合是否添加过

C# Winfom 中ListBox的简单用法
//检查添加值是否添加过
if(this.listBox1.items.Contains("张晓东")){
    MessageBox.show("集合成员已添加过!");    
}
else{
     //执行添加集合成员
}
C# Winfom 中ListBox的简单用法

3、如何获取listBox选中的值

C# Winfom 中ListBox的简单用法
//判断所有选中项集合大于0
if(this.listBox1.SelectedItems.Count > 0){
     //获取选中的值
     this.listBox1.SelectedItem.ToString(); 
}
else{
    MessageBox.Show("未选中listbox集合的值");  
}
C# Winfom 中ListBox的简单用法

4、如何移除listBox中存在的值

//移除listBox集合的项
this.listBox1.Items.Remove("张晓东");

5、综合使用例子

简单实现人员从部门1转移到部门2或部门2转移到部门1

1)界面设计

C# Winfom 中ListBox的简单用法

2)完整源码

C# Winfom 中ListBox的简单用法
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;

namespace WindowsForms
{
    public partial class Form3 : Form
    {
        public Form3()
        {
            InitializeComponent();
        }

        /// <summary>
        /// 添加人员到采购部门
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void btnInsert_Click(object sender, EventArgs e)
        {
            //获取添加人的值
            string peopleText = this.txtPeople.Text.Trim().ToString();
            //获取listbox1的对象
            ListBox list1 = this.listBox1;
            //判断人员是否已经添加过
            if (!list1.Items.Contains(peopleText))
            {
                list1.Items.Add(peopleText);
            }
            else {
                MessageBox.Show("该人员已经添加过,无法重复添加!");
            }
        }

        /// <summary>
        /// 将采购人员转移到销售部门
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void btnRightMove_Click(object sender, EventArgs e)
        {
            //获取listbox1的所有选中的项
            if (this.listBox1.SelectedItems.Count > 0)
            {
                string checkPeople = this.listBox1.SelectedItem.ToString();
                //判断是否添加到listbox2
                if (!this.listBox2.Items.Contains(checkPeople)) {
                    //添加人员到listbox2中
                    this.listBox2.Items.Add(checkPeople);
                    //移除listbox1中
                    this.listBox1.Items.Remove(checkPeople);
                }
                else
                {
                    MessageBox.Show("该人员已经转移过,无法重复转移!");
                }

            }
            else {
                MessageBox.Show("未选中采购人员,无法转移销售部门!");
            }
        }

        /// <summary>
        /// 将销售人员转移到采购部门
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void btnLeftMove_Click(object sender, EventArgs e)
        {
            //获取listbox2的所有选中的项
            if (this.listBox2.SelectedItems.Count > 0)
            {
                string checkPeople = this.listBox2.SelectedItem.ToString();
                //判断是否添加到listbox1
                if (!this.listBox1.Items.Contains(checkPeople))
                {
                    //添加人员到listbox1中
                    this.listBox1.Items.Add(checkPeople);
                    //移除listbox1中
                    this.listBox2.Items.Remove(checkPeople);
                }
                else
                {
                    MessageBox.Show("该人员已经转移过,无法重复转移!");
                }

            }
            else
            {
                MessageBox.Show("未选中销售人员,无法转移到采购部门!");
            }
        }
    }
}
C# Winfom 中ListBox的简单用法

3)界面演示

3.1)添加人员到部门1演示效果

C# Winfom 中ListBox的简单用法

3.2)部门1转移到部门2演示效果

C# Winfom 中ListBox的简单用法

3.3)部门2转移到部门1演示效果

C# Winfom 中ListBox的简单用法