| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1012 人关注过本帖
标题:求助:winform代码优化(此贴关闭)
只看楼主 加入收藏
uukkcc
Rank: 1
等 级:新手上路
帖 子:85
专家分:0
注 册:2007-7-24
收藏
 问题点数:0 回复次数:3 
求助:winform代码优化(此贴关闭)

大家好:
刚才做了一道题目.虽然把功能实现了.但是总感觉代码的优化不是很好.
请各位指点一二.
谢谢.
具体是这样的:
在一个下拉列表里选择值后.于其相关的内容显示在文本框里.当选中文本矿中的任意一条内容的时候点击一按钮再把他显示到另一个文本框里.(具体截面请看下方我上传的附件.
还有怎样将选中的项目在转移的时候同时删除掉?应该调用什么方法?
以下是我的代码:

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编辑过]

搜索更多相关主题的帖子: winform using 代码 System 文本 
2007-10-28 11:50
bygg
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:乖乖的心中
等 级:版主
威 望:241
帖 子:13555
专家分:3076
注 册:2006-10-23
收藏
得分:0 
[CODE] //如果第一项选择的是"客户"的话,就把客户的信息放进数组.
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]);
}
}
}[/CODE]
把这个提出来,放到一个方法里。可以省一半

飘过~~
2007-10-28 15:03
uukkcc
Rank: 1
等 级:新手上路
帖 子:85
专家分:0
注 册:2007-7-24
收藏
得分:0 

我还是不明白......

2007-10-28 17:46
uukkcc
Rank: 1
等 级:新手上路
帖 子:85
专家分:0
注 册:2007-7-24
收藏
得分:0 

谢谢.

[此贴子已经被作者于2007-10-28 20:07:31编辑过]

2007-10-28 19:30
快速回复:求助:winform代码优化(此贴关闭)
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.041746 second(s), 9 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved