combobox、checkbox和textbox的问题。

woyaoccc 2012-09-28 01:09:22
有n个checkbox控件和一个combobox控件,还有一个textbox控件和一个button控件。
如何实现勾选中一个checkbox控件后就把textbox控件里的数字加1,取消勾选一个checkbox控件就把textbox控件里的数字减1,当按下button之后在textbox里面显示最终数字。

举个例子:我有4个checkbox控件,textbox控件初始值是0。当我勾选了一个checkbox控件之后点button按钮,textbox里面显示1,当我再勾选一个checkbox控件后再去点button按钮,textbox里面显示是2。当我把两个checkbox控件全部取消勾选再选择combobox里面的第一项再按button按钮,textbox显示又是3(combobox设置是3)。

现在我打算在button_click里面实现,但我的想法太复杂了——一个一个checkbox进行写代码。
请问这个能简便实现吗?
...全文
122 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
ggewt2td 2012-10-01
  • 打赏
  • 举报
回复
随手写的代码,没测试,

CheckBox c = o as CheckBox

先转化一下
woyaoccc 2012-09-30
  • 打赏
  • 举报
回复
不好意思,出去了几天,刚回来试了下。
if ((CheckBox)o.Checked)
和checkbox.checked都不行啊。
ggewt2td 2012-09-28
  • 打赏
  • 举报
回复
2楼一样,一个循环就搞掂,

不过2楼还漏掉一点,就是点checkbox要更新textbox的代码,

所以2楼还要加一点:

int i=0;
foreach(object o in this.Controls){
if (o is CheckBox){
(CheckBox)o.onclick += .....
}
}


这样可以通过程序来批量绑定事件,c#很牛比的一个功能。
SQL77 2012-09-28
  • 打赏
  • 举报
回复
if ((CheckBox)o.Checked)

应该还要进行强制转换
six-years 2012-09-28
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 的回复:]
int i=0;
foreach(object o in this.Controls)
{
if (o is CheckBox)
{
if (o.Checked)
{
i++
}
}
}
textbox1.text=i.ToString();
[/Quote]

把代码copy到button事件就好了

SQL77 2012-09-28
  • 打赏
  • 举报
回复
最好是在CheckBox勾选择后的事件中进行选中项目的加减计数。不用每次都去读取
SQL77 2012-09-28
  • 打赏
  • 举报
回复
foreach(object o in this.Controls)
{
if (o is CheckBox)
{
if (o.Checked)
{
......
}
}
}
吾非大神 2012-09-28
  • 打赏
  • 举报
回复
封装一个改变textbox的方法,
选中 checkbox 的时候,执行该方法

buttonclick的时候 读取 textbox的内容就可以了把

109,896

社区成员

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

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

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