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演示效果

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

(0)

相关推荐

  • C# CheckedListBox控件的用法总结

    一般认为:foreach (object obj in checkedListBox1.SelectedItems)即可遍历选中的值. 其实这里遍历的只是高亮的值并不是打勾的值.遍历打勾的值要用下面的代码: for (int i = 0; i < checkedListBox1.Items.Count; i++) { if (checkedListBox1.GetItemChecked(i)) { MessageBox.Show(checkedListBox1.GetItemText(check

  • C#读取文本文件到listbox组件的方法

    本文实例讲述了C#读取文本文件到listbox组件的方法.分享给大家供大家参考.具体实现方法如下: private void AddTxtToLst(string path,ListBox lst) { StreamReader file = new StreamReader(path,Encoding.Default); string s = ""; while (s != null) { s = file.ReadLine(); if (!string.IsNullOrEmpty(

  • C#实现让ListBox适应最大Item宽度的方法

    本文实例讲述了C#实现让ListBox适应最大Item宽度的方法.分享给大家供大家参考.具体实现方法如下: private void button1_Click(object sender, EventArgs e) { for (int i = 1; i <= 16; i++) { listBox1.Items.Add("TTTTTTTTTTTTTTTTTTTTTTTTTTTTT" + i.ToString()); } } private void button2_Click(

  • C# ListBox中的Item拖拽代码分享

    我们先来看下运行效果图 Form1.cs代码: 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; using System

  • C#(WinForm) ComboBox和ListBox添加项及设置默认选择项

    Web控件DropDownList和WinForm控件ComboBox机制不一样. ComboBox没有对应的ListItem需要自己写一个: using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace WinListItem { /// <summary> /// 选择项类,用于ComboBox或者ListBox添加项 /// </summary>

  • C#入门教程之ListBox控件使用方法

    ListBox控件的使用: 1)控件属性 Items SelectedItems SelectioModes 2)数据绑定 DataSoure DisplayMember ValueMenber 3)实例 下面开始一一说明上面的ListBox控件的使用. 首先来说控件的属性, (1)Items:使用此属性获取列表控件项的属性.此属性可用于确定列表控件中的选定项.添加items时既可以设计时静态添加,也可以在代码中动态添加.如果不想显示设计时添加的items,可以在代码中添加this.listBo

  • C#使用checkedListBox1控件链接数据库的方法示例

    本文实例讲述了C#使用checkedListBox1控件链接数据库的方法.分享给大家供大家参考,具体如下: 在数据库中创建三个表: 学生信息表  爱好表   学生爱好表 结果让学生的信息和爱好同时显示到C#窗体上面 using System; using System.Collections; using System.Collections.Generic; using System.Data; using System.Diagnostics; using System.Data.Sql;

  • C#保存listbox中数据到文本文件的方法

    本文实例讲述了C#保存listbox中数据到文本文件的方法.分享给大家供大家参考.具体实现方法如下: private void SaveLstToTxt(ListBox lst) { sfd.Filter = "(*.txt)|*.txt"; if (sfd.ShowDialog() == DialogResult.OK) { string sPath = sfd.FileName; FileStream fs = new FileStream(sPath, FileMode.Crea

  • 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.S

  • Python 中 Virtualenv 和 pip 的简单用法详解

    本文介绍了Python 中 Virtualenv 和 pip 的简单用法详解,分享给大家,具体如下: 0X00 安装环境 我们在 Python 开发和学习过程中需要用到各种库,然后在各个不同的项目和作品里可能用的版本还不一样,正因为有这种问题的存在才催生了virtualenv的诞生.virtualenv 可以在电脑上创建一个虚拟环境,可以针对每一个项目创建一个虚拟环境,这样就不用担心各个不同的项目用不同版本的库的时候出现的冲突了. 下面的内容只适用于 Linux/OSX,未经 Windows 环

  • Oracle中游标Cursor基本用法详解

    查询 SELECT语句用于从数据库中查询数据,当在PL/SQL中使用SELECT语句时,要与INTO子句一起使用,查询的 返回值被赋予INTO子句中的变量,变量的声明是在DELCARE中.SELECT INTO语法如下: SELECT [DISTICT|ALL]{*|column[,column,...]} INTO (variable[,variable,...] |record) FROM {table|(sub-query)}[alias] WHERE............ PL/SQL

  • JSP中EL表达式的用法详解(必看篇)

    EL 全名为Expression Language EL 语法很简单,它最大的特点就是使用上很方便.接下来介绍EL主要的语法结构: ${sessionScope.user.sex} 所有EL都是以${为起始.以}为结尾的.上述EL范例的意思是:从Session的范围中,取得 用户的性别.假若依照之前JSP Scriptlet的写法如下: User user =(User)session.getAttribute("user"); String sex =user.getSex( );

  • Python3网络爬虫中的requests高级用法详解

    本节我们再来了解下 Requests 的一些高级用法,如文件上传,代理设置,Cookies 设置等等. 1. 文件上传 我们知道 Reqeuests 可以模拟提交一些数据,假如有的网站需要我们上传文件,我们同样可以利用它来上传,实现非常简单,实例如下: import requests files = {'file': open('favicon.ico', 'rb')} r = requests.post('http://httpbin.org/post', files=files) print

  • PyTorch中反卷积的用法详解

    pytorch中的 2D 卷积层 和 2D 反卷积层 函数分别如下: class torch.nn.Conv2d(in_channels, out_channels, kernel_size, stride=1, padding=0, groups=1, bias=True) class torch.nn.ConvTranspose2d(in_channels, out_channels, kernel_size, stride=1, padding=0, output_padding=0, b

  • Pytorch中膨胀卷积的用法详解

    卷积和膨胀卷积 在深度学习中,我们会碰到卷积的概念,我们知道卷积简单来理解就是累乘和累加,普通的卷积我们在此不做赘述,大家可以翻看相关书籍很好的理解. 最近在做项目过程中,碰到Pytorch中使用膨胀卷积的情况,想要的输入输出是图像经过四层膨胀卷积后图像的宽高尺寸不发生变化. 开始我的思路是padding='SAME'结合strides=1来实现输入输出尺寸不变,试列好多次还是有问题,报了张量错误的提示,想了好久也没找到解决方法,上网搜了下,有些人的博客说经过膨胀卷积之后图像的尺寸不发生变化,有

  • pytorch1.0中torch.nn.Conv2d用法详解

    Conv2d的简单使用 torch 包 nn 中 Conv2d 的用法与 tensorflow 中类似,但不完全一样. 在 torch 中,Conv2d 有几个基本的参数,分别是 in_channels 输入图像的深度 out_channels 输出图像的深度 kernel_size 卷积核大小,正方形卷积只为单个数字 stride 卷积步长,默认为1 padding 卷积是否造成尺寸丢失,1为不丢失 与tensorflow不一样的是,pytorch中的使用更加清晰化,我们可以使用这种方法定义输

  • C#中backgroundWorker类的用法详解

    1.在 WinForms 中,有时要执行耗时的操作,在该操作未完成之前操作用户界面,会导致用户界面停止响应.解决的方法就是新开一个线程,把耗时的操作放到线程中执行,这样就可以在用户界面上进行其它操作.新建线程可以用 Thread 类,可以实现多线程同时操作.简单的方法可以通过 BackgroundWorker 类实现. BackgroundWorker 可以用来更新UI界面,但是通常用来Progressbar(进度条)控件 例如更新UI private void Form1_Load(objec

  • JavaWeb中过滤器Filter的用法详解

    目录 过滤器Filter 处理顺序 使用场景 自定义过滤器 源码分析 FilterDef FilterMap 初始化过滤器 创建过滤器链 ApplicationFilterChain 执行过滤器链 过滤器Filter 过滤器通常对一些web资源进行拦截,做完一些处理器再交给下一个过滤器处理,直到所有的过滤器处理器,再调用servlet实例的service方法进行处理.过滤器可以对request进行处理也可以对response进行处理. 处理顺序 如果过滤器链顺序如上图所示,那么对request请

随机推荐