C# Winfom 中ListBox的简单用法详解

 更新时间:2019年12月20日 15:16:05   作者:小小邪  
这篇文章主要介绍了C# Winfom 中ListBox的简单用法详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧

1、如何添加listBox的值

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

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

//检查添加值是否添加过
if(this.listBox1.items.Contains("张晓东")){
  MessageBox.show("集合成员已添加过!");  
}
else{
   //执行添加集合成员
}

3、如何获取listBox选中的值

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

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

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

5、综合使用例子

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

1)界面设计

2)完整源码

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("未选中销售人员,无法转移到采购部门!");
      }
    }
  }
}

3)界面演示

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

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

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

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

相关文章

  • 浅析C#中的Main(String[] args)参数输入问题

    浅析C#中的Main(String[] args)参数输入问题

    本篇文章主要是对C#中的Main(String[] args)参数输入问题进行了详细的介绍,需要的朋友可以过来参考下,希望对大家有所帮助
    2014-01-01
  • C#异步编程由浅入深(二)之Async/Await的使用

    C#异步编程由浅入深(二)之Async/Await的使用

    这篇文章主要介绍了C#异步编程由浅入深(二)之Async/Await的作用,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2022-03-03
  • C#正则表达式匹配与替换字符串功能示例

    C#正则表达式匹配与替换字符串功能示例

    这篇文章主要介绍了C#正则表达式匹配与替换字符串功能,结合具体实例形式分析了C#字符串正则替换相关类、方法的使用技巧与相关注意事项,需要的朋友可以参考下
    2017-06-06
  • C#实现自定义光标并动态切换

    C#实现自定义光标并动态切换

    这篇文章主要为大家详细介绍了如何利用C#语言实现自定义光标、并动态切换光标类型,文中的示例代码讲解详细,感兴趣的小伙伴可以了解一下
    2022-07-07
  • C#实现类似qq的屏幕截图程序

    C#实现类似qq的屏幕截图程序

    C#实现类似qq的屏幕截图程序...
    2007-04-04
  • C#冒泡法排序算法实例分析

    C#冒泡法排序算法实例分析

    这篇文章主要介绍了C#冒泡法排序算法,结合两个常用实例分析了C#冒泡排序算法的相关实现技巧,需要的朋友可以参考下
    2015-07-07
  • C#使用RSA加密解密文件

    C#使用RSA加密解密文件

    这篇文章主要为大家详细介绍了C#使用RSA加密解密文件,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2019-03-03
  • c# Newtonsoft 六个值得使用的特性(上)

    c# Newtonsoft 六个值得使用的特性(上)

    这篇文章主要介绍了c# Newtonsoft 六个值得使用的特性,文中示例代码非常详细,帮助大家更好的理解和学习,感兴趣的朋友可以了解下
    2020-06-06
  • C#使用RabbitMq队列(Sample,Work,Fanout,Direct等模式的简单使用)

    C#使用RabbitMq队列(Sample,Work,Fanout,Direct等模式的简单使用)

    这篇文章主要介绍了C#使用RabbitMq队列(Sample,Work,Fanout,Direct等模式的简单使用),本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2020-10-10
  • C#中缓存的基本使用方法

    C#中缓存的基本使用方法

    项目开发过程中缓存的应用到处可见,下面这篇文章主要给大家介绍了关于C#中缓存的基本使用方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2018-09-09

最新评论