大家好:
刚才做了一道题目.虽然把功能实现了.但是总感觉代码的优化不是很好.
请各位指点一二.
谢谢.
具体是这样的:
在一个下拉列表里选择值后.于其相关的内容显示在文本框里.当选中文本矿中的任意一条内容的时候点击一按钮再把他显示到另一个文本框里.(具体截面请看下方我上传的附件.
还有怎样将选中的项目在转移的时候同时删除掉?应该调用什么方法?
以下是我的代码:
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
namespace WindowsApplication1
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void Form1_Load(object sender, EventArgs e)
{
}
private void comboBox1_SelectedIndexChanged(object sender, EventArgs e)
{
this.lstfirst.Items.Clear();//先清空
this.lstsecond.Items.Clear();
//如果第一项选择的是"客户"的话就把客户的相关信息显示到文本框中
if (String.Compare(this.comboBox1.SelectedItem.ToString(), "客户") == 0)
{
string[] names ={ "客户", "可忽忽", "可可忽忽" };
for (int i = 0; i < names.Length; i++)
{
this.lstfirst.Items.Add(names[i]);
}
}
//下面同理
if (String.Compare(this.comboBox1.SelectedItem.ToString(), "人品") == 0)
{
string[] names ={ "很纯洁", "很一般", "很流氓" };
for (int i = 0; i < names.Length; i++)
{
this.lstfirst.Items.Add(names[i]);
}
}
}
private void sendsigle_Click(object sender, EventArgs e)
{
//如果第一项选择的是"客户"的话,就把客户的信息放进数组.
if (String.Compare(this.comboBox1.SelectedItem.ToString(), "客户") == 0)
{
string[] names ={ "客户", "可忽忽", "可可忽忽" };
如果选中其中的某项信息就把它显示在另一个文本上.
for (int i = 0; i < names.Length; i++)
{
if (string.Compare(this.lstfirst.SelectedItem.ToString(), names[i]) == 0)
{
this.lstsecond.Items.Add(names[i]);
}
}
}
//以下同理.
if (String.Compare(this.comboBox1.SelectedItem.ToString(), "人品") == 0)
{
string[] uunames ={ "很纯洁", "很一般", "很流氓" };
for (int i = 0; i < uunames.Length; i++)
{
if (string.Compare(this.lstfirst.SelectedItem.ToString(), uunames[i]) == 0)
{
this.lstsecond.Items.Add(uunames[i]);
}
}
}
}
}
}
这样的话,每次下拉列表变化我都要重新做一个if判断吗?肯定是有我不知道的其他办法可以实现吧?
请大家给指点一二.
谢谢.
[此贴子已经被作者于2007-10-28 20:07:57编辑过]