日期:2009-01-14  浏览次数:20692 次

Visual C#是.Net框架中的一个重要组成部分,也是微软公司推出的下一代主流程序开发语言。它在设计、开发程序界面的时候和以前的某些程序开发语言有所不同。它既有Visual Basic快速开发的特点,又不乏C++语言强大的功能。所以C#很可能成为将来最主要的软件开发语言。

本文向大家介绍C#下列表框的一些常用操作,同时向大家展示用Windows Forms来编写程序的特点以及技巧。

一.运行环境:
(1)微软视窗2000服务器版本
(2).Net FrameWork SDK Beta 2

二.程序设计:
首先打开VS.net,新建一个工程,图示如下:



其次来进行界面设计:
往主窗体上添加一个列表框控件、一个标签控件、一个文本框控件以及五个按钮控件。
将主窗体的Text属性设置为“操作列表框控件”;将标签控件的Text属性设置为“请输入:”;将文本框控件的Text属性设置为无;将五个按钮控件的Text属性分别设置为“添加”、“修改”、“删除”、“上一条”、“下一条”。为了在主窗体变化大小时,能使各个控件随着变化大小以充满整个客户区从而使界面更美观,我们需要修改各个控件的Anchor属性:将列表框控件的Anchor属性设置为Top,Bottom,Left,Right;其他的各个控件均设置为Top,Right即可。最后图示如下:



接着,我们来进行代码编写:
给我们的类添加一个私有的数据成员:private int nSelectedIndex;用来保存当前背选中的项的序号并在构造函数中添加:nSelectedIndex=0;使当前选中行为第一行。
添加五个按钮控件的Click事件函数以及列表框控件的SelectedIndexChanged事件函数如下:
private void button1_Click(object sender, System.EventArgs e)
{
if (this.textBox1.Text !="")//如果文本框非空,则进行添加
{
this.listBox1.Items.Add(this.textBox1.Text);
this.textBox1.Text = "";//添加完毕,文本框置空
}
}

private void button2_Click(object sender, System.EventArgs e)
{
if(nSelectedIndex<listBox1.Items.Count&&nSelectedIndex>-1)
{
this.listBox1.Items[nSelectedIndex] = this.textBox1.Text;
//对选中的那一条的内容进行修改
}
}

private void button3_Click(object sender, System.EventArgs e)
{
if(nSelectedIndex<listBox1.Items.Count&&nSelectedIndex>-1)
{
this.listBox1.Items.RemoveAt(nSelectedIndex);//删除选中的那一条
this.textBox1.Text = "";//将文本框中的文本去掉
}
}

private void button4_Click(object sender, System.EventArgs e)
{
if (this.listBox1.SelectedIndex>0)//如果还没到第一条就往上移动一条
this.listBox1.SelectedIndex--;
}

private void button5_Click(object sender, System.EventArgs e)
{
if (this.listBox1.SelectedIndex<this.listBox1.Items.Count-1)
//如果还没到最后一条就往下移动一条
this.listBox1.SelectedIndex++;
}

private void listBox1_SelectedIndexChanged(object sender, System.EventArgs e)
{
nSelectedIndex = this.listBox1.SelectedIndex;
//保存选中的那一条的序号到nSelectedIndex中
string szSelected = (string)this.listBox1.SelectedItem;
this.textBox1.Text = szSelected;
//将文本框中的文本设置为当前选中的那一条的文本内容
}

好,现在已经完成了所有的代码编写工作了(很简单吧)。
我们就可以对列表框的内容进行添加、修改、删除、向上移动、向下移动的操作了。而且,我们在程序中设置了各个控件的Anchor属性,所以当你改变主窗口的大小时,各个控件的位置是跟着移动的(列表框的大小跟着变化使它一直占据着自己的区域,而其他控件则一直是靠在主窗口的右上侧)图示如下:


主窗口大小变化前


主窗口大小变化后