样式如下:

实现的代码一:

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.Collections;

namespace WindowsFormsApplication2
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
//实现">"功能,将左边一项移到右边
private void button1_Click(object sender, EventArgs e)
{
//listBox1.Items.RemoveAt(listBox1.SelectedIndex);
//listBox2.Items.Add(listBox1.SelectedIndex.ToString());
//获取listbox1的所有选中的项
if (this.listBox1.SelectedItems.Count > 0)
{
string list1Remove = this.listBox1.SelectedItem.ToString();
//判断是否添加到listbox2
if (!this.listBox2.Items.Contains(list1Remove))
{
//添加人员到listbox2中
this.listBox2.Items.Add(list1Remove);
//移除listbox1中
this.listBox1.Items.Remove(list1Remove);
}
}
}

//实现"<"功能,将右边一项移到左边
private void button3_Click(object sender, EventArgs e)
{
if (this.listBox2.SelectedItems.Count > 0)
{
string list2Remove = this.listBox2.SelectedItem.ToString();
//判断是否添加到listbox2
if (!this.listBox1.Items.Contains(list2Remove))
{
//添加人员到listbox2中
this.listBox1.Items.Add(list2Remove);
//移除listbox1中
this.listBox2.Items.Remove(list2Remove);
}
}
}

//实现">>"功能,将左边所有项移到右边
private void button2_Click(object sender, EventArgs e)
{
listBox2.Items.AddRange(listBox1.Items);
listBox1.Items.Clear();
}

//实现"<<"功能,将右边所有项移到左边
private void button4_Click(object sender, EventArgs e)
{
listBox1.Items.AddRange(listBox2.Items);
listBox2.Items.Clear();
}

private void listBox1_SelectedIndexChanged(object sender, EventArgs e)
{

}

private void listBox2_SelectedIndexChanged(object sender, EventArgs e)
{

}

private void textBox1_TextChanged(object sender, EventArgs e)
{

}

//将文本添加到左边listBox中
private void button5_Click(object sender, EventArgs e)
{
if (textBox1.Text != "")
{
listBox1.Items.Add(textBox1.Text.ToString());
}

}
//删除左边listBox某一项
private void button6_Click(object sender, EventArgs e)
{
if (textBox1.Text != "")
{
for (int i = 0; i < listBox1.Items.Count; i++)
{
if (textBox1.Text == listBox1.Items[i].ToString())
{
listBox1.Items.RemoveAt(i);
i--;
}
}
}
}
//删除左边listBox所有项
private void button7_Click(object sender, EventArgs e)
{
listBox1.Items.Clear();
}
}

}


实现的代码二:

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 LisBox控件的操作
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}

private void listBox1_SelectedIndexChanged(object sender, EventArgs e)
{

}

private void button3_Click(object sender, EventArgs e)
{
listBox1.Items.AddRange(listBox2.Items);
listBox2.Items.Clear();

}

private void listBox2_SelectedIndexChanged(object sender, EventArgs e)
{

}

//实现>功能
private void button1_Click(object sender, EventArgs e)
{
//获取listbox1里面的值
if (this.listBox1.SelectedItems.Count > 0)
{
string checkPeople = this.listBox1.SelectedItem.ToString();
if (!this.listBox2.Items.Contains(checkPeople))
{
//添加人员到listbox2中
this.listBox2.Items.Add(checkPeople);
//移除listbox1中
this.listBox1.Items.Remove(checkPeople);
}
}
else {
MessageBox.Show("该人员已经转移过");
}

}

//实现<功能
private void button7_Click(object sender, EventArgs e)
{
//获取listbox2里面的值
if (this.listBox2.SelectedItems.Count > 0)
{
string checkPeople = this.listBox2.SelectedItem.ToString();
if (!this.listBox1.Items.Contains(checkPeople))
{
//添加人员到listbox1中
this.listBox1.Items.Add(checkPeople);
//移除listbox2中
this.listBox2.Items.Remove(checkPeople);
}
}
else
{
MessageBox.Show("该人员已经转移过");
}
}

private void Form1_Load(object sender, EventArgs e)
{

}

//实现>>功能
private void button2_Click(object sender, EventArgs e)
{
listBox2.Items.AddRange(listBox1.Items);
listBox1.Items.Clear();
}

//删除左边的所有项
private void button6_Click(object sender, EventArgs e)
{
listBox1.Items.Clear();
}

//将文本加到左面的listBox
private void button4_Click(object sender, EventArgs e)
{
if (textBox1.Text != "") {
listBox1.Items.Add(textBox1.Text);
textBox1.Clear(); //清除textbox的里面的值
}
}

//删除左面选择的一项
private void button5_Click(object sender, EventArgs e)
{
if (this.listBox1.SelectedItems.Count > 0)
{
this.listBox1.Items.RemoveAt(this.listBox1.SelectedItems.Count);
}
else {
MessageBox.Show("您还没有选择,请选择一项进行操作");
}
}

private void toolStripButton1_Click(object sender, EventArgs e)
{

}

private void bindingNavigatorAddNewItem_Click(object sender, EventArgs e)
{

}
}
}

C#学习笔记:ListBox控件的用法的更多相关文章

  1. Python:GUI之tkinter学习笔记1控件的介绍及使用

    相关内容: tkinter的使用 1.模块的导入 2.使用 3.控件介绍 Tk Button Label Frame Toplevel Menu Menubutton Canvas Entry Mes ...

  2. iOS学习笔记——基础控件(上)

    本篇简单罗列一下一些常用的UI控件以及它们特有的属性,事件等等.由于是笔记,相比起来不会太详细 UIView 所有UI控件都继承于这个UIView,它所拥有的属性必是所有控件都拥有,这些属性都是控件最 ...

  3. Android笔记---常用控件以及用法

    这篇文章主要记录下Android的常用控件以及使用的方法,Android 给我们提供了大量的UI控件,合理地使用这些控件就可以非常轻松地编写出相当不错的界面,这些是Android学习的基础,没有什么业 ...

  4. ios 学习笔记之控件属性

    1.文本框 设置密码属性:Secure Text Entry 勾选; 设置文本框带清除属性: Clear Button =Is always visible;  默认是不带清除属性:Never app ...

  5. jQuery学习笔记(控件位置定位、尺寸大小的获取等)

    想做一个幽灵按钮出来,效果大概如下图: 当点击按钮的时候,会有四根线条从四个方向飞入,经历从“无-有-无”的闪入过程. 那么我的设计想法是,先在HTML中定义一个按钮,然后在jQuery中设计按钮点击 ...

  6. 学习笔记-menusript控件中条目权限设置使用

    在做一个小程序的时候,偶然发现了使用menusript控件做权限设置的方法,仅此标记,以供参考. 首先创建一个实例:testuseright.sln, 在项目文件里创建两个窗体:Form1.cs和us ...

  7. IOS 学习笔记(7) 控件 分隔栏控件(UISegmentControl)的使用方法

    分隔栏控件的系统默认式样一共有3种,分别是“普通式样”,"边框式样","条状式样" 分隔栏控件中有一个momentary属性,默认时NO.当开发者配置成YES时 ...

  8. IOS 学习笔记(6) 控件 文本域(UITextField)的使用方法

    UITextField控件的诸多特性都和UITextView相似,比如成为输入文本焦点时键盘自动显示,支持长按弹出动作选项,能够接收输入事件(开始输入,修改内容,结束输入和点击回车等). 1.特有的特 ...

  9. IOS 学习笔记(5) 控件 文本视图(UITextView)的使用方法

    相对于UILabell所支持的较短文本内容,UITextView对于长文本的支持更好.UITextView能够以滚动的方式全部浏览到长文本,并且就像UILabel那样,从ISO6,他也提供了对NSAt ...

随机推荐

  1. matlab 可变参数与默认参数设置

    1. 基本思路 矩阵矢量化编程,而不是循环和遍历: GPU 并行计算: 使用稀疏矩阵: 2. 实践 可变长输入参数,输出参数,需要解析(使用大括号进行索引): varargin varargout 函 ...

  2. .net reactor 学习系列(四)---.net reactor应用场景

    原文:.net reactor 学习系列(四)---.net reactor应用场景         前面已经学习了.net reactor一些基础知识,现在准备学习下实际的应用场景,只是简单的保护和 ...

  3. Math.Round四舍五入说明

    Math.Round默认采用的不是四舍五入法, 而是四舍六入的银行家算法, 如何找回四舍五入法? Math.Round默认采用的不是四舍五入法, 而是四舍六入的银行家算法,  也就是四舍六入五考虑,五 ...

  4. 宽字符std::wstring的长度和大小问题?sizeof(std::wstring)是固定的32,说明std::wstring是一个普通的C++类,而且和Delphi不一样,没有负方向,因为那个需要编译器的支持

    std::wstring ws=L"kkkk";    int il=ws.length();    int ia=sizeof(ws);    int ib=sizeof(&qu ...

  5. DotNetBar for Windows Forms 14.0.0.3_冰河之刃重打包版原创发布

    关于 DotNetBar for Windows Forms 14.0.0.3_冰河之刃重打包版 --------------------11.8.0.8_冰河之刃重打包版-------------- ...

  6. 蓝牙模块在HHARM2410上的移植

    最近两天在HHARM2410-R3上移植了USB蓝牙设备和 BlueZ 蓝牙协议栈,呵呵,蓝牙果然是个很好的东西,协议栈内容很丰富,挂上去以后可以使用很多功能.我现在就可以用它来接收 GPS 数据以及 ...

  7. WinForm TreeView单击,但是获取的是上一次点击选中的节点

    /// <summary> /// MouseDown是鼠标按下事件发生在你鼠标单击事件之前,你单击鼠标发生了两个动作,一是鼠标按下二是鼠标抬起.执行之后,就会把SelectedNode转 ...

  8. ASP.NET获取客户端、服务器端基础信息

    1. 在ASP.NET中专用属性: 获取服务器电脑名:Page.Server.ManchineName 获取用户信息:Page.User 获取客户端电脑名:Page.Request.UserHostN ...

  9. Elasticsearch教程(一)简介与安装

    简单概念 ElasticSearch是一个基于Lucene的搜索服务器.它提供了一个分布式多用户能力的全文搜索引擎,基于RESTful web接口.Elasticsearch是用Java开发的,并作为 ...

  10. BI-学习之 商业智能项目工具安装

    首先咱们先需要下载一个工具,Microsoft SQL Server Data Tools - Business Intelligence for Visual Studio 2012并安装: 我目前 ...