C# Winfom 中ListBox的简单用法详解
- 作者: 期望带来失望
- 来源: 51数据库
- 2020-08-08
这篇文章主要介绍了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#通过fleck实现wss协议的WebSocket多人Web实时聊天(附源码)
- 团队城市未满足要求:MSBuildTools12.0_x86_Path 存在
- 使用 MSBuild.exe 在发布模式下构建 C# 解决方案
- 当我发布 Web 应用程序时,AfterPublish 脚本不运行
- 构建时 T4 转换的产品仅在下一个构建中使用
- ASP.NET Core Application (.NET Framework) for Windows x64 only error in project.assets.json
- 新的 .csproj 格式 - 如何将整个目录指定为“链接文件"到子目录?
- 如何将条件编译符号(DefineConstants)传递给 msbuild
- MSBuild 支持 Visual Studio 2017 RTM 中的 T4 模板
- NuGet 包还原找不到包,没有源
热点文章
团队城市未满足要求:MSBuildTools12.0_x86_Path 存在
0
使用 MSBuild.exe 在发布模式下构建 C# 解决方案
0
当我发布 Web 应用程序时,AfterPublish 脚本不运行
0
构建时 T4 转换的产品仅在下一个构建中使用
0
ASP.NET Core Application (.NET Framework) for Windows x64 only error in project.assets.json
0
新的 .csproj 格式 - 如何将整个目录指定为“链接文件"到子目录?
0
如何将条件编译符号(DefineConstants)传递给 msbuild
0
MSBuild 支持 Visual Studio 2017 RTM 中的 T4 模板
0
NuGet 包还原找不到包,没有源
0
使用 C# 6.0 功能运行 TFS 构建
0
