C# 如何去除checkbox选中的内容
具体问题是 我用textbox读入了一个文本文档,文档内容有四行
没一行内容都是都希望能用一个checkbox进行控制
即:选中checkbox就把该行进行显示,不选中时不显示该行,如果再次选中该行又可显示出来
求大师赐教啊!!谢谢~~~
------解决方案--------------------将4个checkbox的click都关联给一个事件,编写如下代码:
CheckBox[] data = new CheckBox[] { checkBox1, checkBox2, checkBox3, checkBox4 };
textBox1.Text = string.Join("\r\n", data.Where(x => x.Checked).Select(x => x.Text).ToArray());
------解决方案--------------------可以在checkbox的CheckedChanged事件中,通过checkbox的选择状态来实现。具体细节卡伊参考:http://blog.csdn.net/jiankunking/article/details/20478403
------解决方案--------------------
该回复于2014-03-12 14:45:00被版主删除
------解决方案--------------------1楼+2楼的方法,才是正解。把1楼写的方法写入到2楼说的CheckedChanged事件里面。如果写到click事件里面是会有bug的。
------解决方案--------------------如果要控制的是读出文本文档的显示内容,先读出文档里的文本,并分割成字符串数组,然后通过判断checkBox的状态来确定要显示的内容
string[] seperator={"\r\n"};
string[] content=text.Split(seperator , StringSplitOptions.RemoveEmptyEntries);//text是文档里的文本
在每个checkBox的CheckedChanged事件里写
CheckBox[] ckbs = { checkBox1, checkBox2,checkBox3 ,checkBox4 };
int i = 0;
textBox1.Clear();
foreach (CheckBox ckb in ckbs)
{
if (ckb.Checked)
textBox1.Text += content[i]+"\r\n";
i++;
}
------解决方案--------------------读出文本内容 分割字符串
通过CheckedChanged绑定即可
如5楼的方法
------解决方案--------------------哎,可以搞8个textbox撒,每一行放2个,并且完全重叠,其中一个用于你说的文字显示,一个不作任何处理,你的checkbox只需要作那个显示的的textbox 的显隐控制就好了,这样做是不是很贱呢,哈哈