最后50分,关于LISTBOX

amoxicillin1030 2003-08-19 03:55:24
我想在WINFORM中实现如下功能:
有两个LISTBOX,一个BUTTON,点击botton1使listbox1中的selectItem在listbox2中显示,并且从listbox1中移除这个selectItem。
其中LISTBOX1与数据库绑定了的。程序如下
this.listBox1.DataSource=ds.Tables["项目表"];
this.listBox1.DisplayMember="项目名称";
this.listBox1.ValueMember="项目名称";
private void listBox1_SelectedIndexChanged(object sender, System.EventArgs e)
{
DataColumn dc;
DataTable dt=ds.Tables["项目表"];
dc =(DataColumn)dt.Columns["项目名称"];
DataRowView dr;
dr=(DataRowView)this.listBox1.SelectedItem;
select = dr.Row[dc].ToString();
}

private void button2_Click(object sender, System.EventArgs e)
{
listBox2.Items.Add(select);
listBox1.Items.Remove(select);

}
这个程序有两个问题:
1。点击BOTTON以后LISTBOX1中的selectItem并没有被移除
2。我想在listbox2中点击以后listbox1就失去焦点,也就是说整个winform中只能看到一个标志被选中的蓝色的框。
...全文
23 13 打赏 收藏 转发到动态 举报
写回复
用AI写文章
13 条回复
切换为时间正序
请发表友善的回复…
发表回复
amoxicillin1030 2003-08-20
  • 打赏
  • 举报
回复
UP
amoxicillin1030 2003-08-20
  • 打赏
  • 举报
回复
((DtaView)listBox1.DataSource).RowFilter = "项目名称<>'" + select + "'";
指定的转换无效。。。
我刚学C#很多都不懂,麻烦大家写的详细点
amoxicillin1030 2003-08-20
  • 打赏
  • 举报
回复
建议你不要通过绑定数据源来给 listbox1赋值 ,添加 items 的那段自己写吧

items那段是直接从数据库获取的,随数据库里数据的改变而改变,自己怎么写啊-_-b
CSTerry 2003-08-19
  • 打赏
  • 举报
回复
哦,对不起,刚才没看仔细看这段:

private void listBox1_SelectedIndexChanged(object sender, System.EventArgs e)
{
DataColumn dc;
DataTable dt=ds.Tables["项目表"];
dc =(DataColumn)dt.Columns["项目名称"];
DataRowView dr;
dr=(DataRowView)this.listBox1.SelectedItem;
select = dr.Row[dc].ToString();
}

按我那种写法这段是不必要的


rouser 2003-08-19
  • 打赏
  • 举报
回复
不知道允許該數據源嘛?
如果你綁的是一個DataView作為數據源的(并且,“项目名称”字段是唯一的)
那么
private void listBox1_SelectedIndexChanged(object sender, System.EventArgs e)
{
DataColumn dc;
DataTable dt=ds.Tables["项目表"];
dc =(DataColumn)dt.Columns["项目名称"];
DataRowView dr;
dr=(DataRowView)this.listBox1.SelectedItem;
select = dr.Row[dc].ToString();
}

private void button2_Click(object sender, System.EventArgs e)
{
listBox2.Items.Add(s);
((DtaView)listBox1.DataSource).RowFilter = "项目名称<>'" + select + "'";

}
CSTerry 2003-08-19
  • 打赏
  • 举报
回复
第二个方法是没什么问题的,最好还加上
private void listBox1_Enter(object sender, System.EventArgs e)
{
listBox2.SelectedItem=null;
}

当然有些判断要你自己写一下,我不能什么都写完了吧,比如在listBox里面如果没有数据项就会出现你说的情况
CSTerry 2003-08-19
  • 打赏
  • 举报
回复
建议你不要通过绑定数据源来给 listbox1赋值 ,添加 items 的那段自己写吧

另外:在事件

private void listBox1_SelectedIndexChanged(object sender, System.EventArgs e)
{
DataColumn dc;
DataTable dt=ds.Tables["项目表"];
dc =(DataColumn)dt.Columns["项目名称"];
DataRowView dr;
dr=(DataRowView)this.listBox1.SelectedItem;
select = dr.Row[dc].ToString();
}

里你又重新绑定了数据源,所以会造成listBox1中的项目无法移出的现象
amoxicillin1030 2003-08-19
  • 打赏
  • 举报
回复
未将对象引用设置到对象的实例

这是第二个问题的错误提示
amoxicillin1030 2003-08-19
  • 打赏
  • 举报
回复
CSTerry(Terry)
第一个问题
按照你的代码运行后出现异常,如下:
未处理的“System.ArgumentException”类型的异常出现在 system.windows.forms.dll 中。

其他信息: 在设置 DataSource 属性之后,无法修改 Items 集合。
CSTerry 2003-08-19
  • 打赏
  • 举报
回复
第二个问题可以这样解决


private void listBox2_Enter(object sender, System.EventArgs e)
{
listBox1.SelectedItem=null;
}

全部解决,给分吧
CSTerry 2003-08-19
  • 打赏
  • 举报
回复
这样可以解决第一个问题

listBox2.Items.Add(listBox1.SelectedItem);
listBox1.Items.Remove(listBox1.SelectedItem);
CSTerry 2003-08-19
  • 打赏
  • 举报
回复
在listbox2中点击以后listbox1肯定失去焦点了嘛
amoxicillin1030 2003-08-19
  • 打赏
  • 举报
回复
UP
第2章 数据类型 35 2.1 常用类型 36 0084 CString的多种初始化方式 36 0085 Windows字符串指针类型析 36 0086 BSTR类型与CString类型的相互转换 36 0087 _bstr_与其他字符串类型的相互转换 37 0088 _VARIANT类型的初始化 37 0089 _variant_t与字符串类型的转换 38 0090 ColeVariant与其他数据类型的转换 38 0091 格式化类型 39 2.2 类型转换 39 0092 CString和char*之间的转换 39 0093 char与char*类型应用 39 0094 COLORREF类型转换RGB量 40 0095 DWORD与 WORD之间的转换 40 0096 WORD与BYTE之间的转换 40 0097 字符串数值转换 40 2.3 字符串截取与转换 41 0098 获取字符串中的中文 41 0099 英文字符串首字母大写 41 0100 指定符号割字符串 42 0101 在文本中删除指定的中文或中文句子 43 0102 替换指定的字符串 44 0103 向字符串中添加子字符串 44 0104 截取字符串中的数字 45 0105 将选定字符转换成大写 46 0106 截取指定位置的字符串 47 2.4 字符串的比较与判断 48 0107 判断字符中是否有中文 48 0108 判断字符串是否可以转换成整数 48 0109 如何判断字符串是否含有数字 49 0110 判断指定位置字符的大小写 49 0111 判断字符串中是否有指定的字符 50 0112 两个字符串进行比较 50 0113 在进行字符串比较时忽略大小写 50 0114 获取字符串中的英文子字符串 51 2.5 字符串技巧 52 0115 字符串加密 52 0116 字符串连接 52 0117 如何在字符串中使用双引号 53 0118 如何在字符串中添加多个空格 53 0119 字符反转 53 0120 去除字符首尾空格 53 0121 去除字符串中所有的空格 53 2.6 字符串应用 54 0122 将选定内容复制到剪贴板 54 0123 在ListBox中查找的字符串 54 0124 编辑框的行数,以及回车换行的数量 55 0125 字符串数组搜索 55 0126 设置编码方式 56 2.7 字符串统计 56 0127 如何统计中文个数 56 0128 获取字符串中数字位置 56 0129 获取字符在字符串中最后出现的位置 57 0130 获取大写字符的位置 58 0131 统计字符个数 59 0132 获取字符在字符串中出现的位置 60 0133 获取字符在字符串中出现的次数 61 0134 获取指定字符起始位置 62 0135 获取字符串中英文字母个数 63
第1章 空 第2章 ASP.NET运行模型 21.如何在页面中应用javascript脚本-示例1 21.如何在页面中应用javascript脚本-示例2 22.如何实现从服务器端向页面动态添加javascript脚本-示例1 22.如何实现从服务器端向页面动态添加javascript脚本-示例2 24.如何处理多页面重定向到同一页面后的返回问题 25.如何用Response.Redirect方法传递汉字 29.如何利用输出缓存技术缓存整个页面 30.如何利用片段缓存技术对用户控件进行缓存 31.如何利用数据缓存技术提高程序的性能 33.如何实现当页面产生错误时重定向到自定义错误界面 35.如何在程序中读写Web.config文件 37.如何使用CSS文件定义控件的样式 38.如何启用和禁用ViewState保存状态信息的功能 39.如何应用IsPostBack控制页面的加载 41.如何使用Trace对象进行跟踪调试(页面级) 42.如何使用#Include语法将文件添加到页面 43.如何使用编程的方式处理异常信息 44.如何将网页错误信息写入事件日志 第3章 常用Web服务控件 46.如何使用Label控件动态显示文本信息 47.如何实现当鼠标移到控件时显示提示信息 48.如何在Web应用程序中实现快捷键功能(使用脚本实现) 48.如何在Web应用程序中实现快捷键功能(使用属性实现) 49.如何设置页面上控件的Tab键顺序 50.如何实现用回车键代替Tab键的功能 51.如何为按钮键添加消息框 52.Button、LinkButton和ImageButton服务控件的区别及应用 54.如何使用CheckBox和CheckBoxList控件(CheckBox示例) 54.如何使用CheckBox和CheckBoxList控件(CheckBoxList示例) 55.如何使用RadioButton和RadioButtonList控件(RadioButton示例) 55.如何使用RadioButton和RadioButtonList控件RadioButtonList示例) 56.如何使用Panel控件操作一组控件 57.如何使用Table控件组织页面的内容 58.如何实现DropDownList控件选项的添加、删除等操作 59.如何实现间接改变DropDownList控件的当前选项 60.如何实现两个或多个DropDownList控件的联动 61.如何实现ListBox控件选项的上移、下移、添加和删除操作 62.如何实现ListBox控件中选项的双击事件 63.如何动态设置ListBox控件中各选项的背景颜色 64.如何在页面中动态创建控件 65.如何为HTML服务器控件的事件添加自定义方法 第4章 验证控件 67.如何使用RequiredFieldValidator控件验证用户是否输入信息 68.如何使用RegularExpressionValidator控件验证E-mail地址和邮编等格式 69.如何使用RangeValidator控件验证输入的信息是否在指定范围内 70.如何使用CompareValidator控件对两个输入控件比较验证 71.如何使用CustomValidator控件自定义验证格式 72.如何使用ValidationSummary控件总结所有验证控件的错误信息 73.如何创建自定义功能的验证控件 74.如何禁用服务器控件的验证功能 75.如何控制页面部验证控件有效 76.如何实现控件即时验证功能 77.如何使用验证控件综合验证用户注册页面 78.如何验证DataGrid控件的编辑列 81.如何使用验证控件验证日期类型的输入(CompareValidator) 81.如何使用验证控件验证日期类型的输入(CustomerValidator) 81.如何使用验证控件验证日期类型的输入(RegularValidator) 第5章 高级Web控件 82.如何在网页中使用Calendar Web控件显示和选择日期 83.如何在Calendar Web控件中控制个别日的内容及显示 84.如何在Calendar Web控件中控制用户日期选定 86.如何使用XML控件显示XML文件和进行XSLT转换 87.如何使用AdRotator Web控件制作广告发布程序-示例1 87.如何使用AdRotator Web控件制作广告发布程序-示例2 88.如何创建用户控件 89.如何将Web窗体转换成用户控件 90.如何实现动态加载用户控件 92.如何使用TabStrip Web和MultiP

110,536

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧