我有treeView
有几个Nodes
喜欢这个
Question 1
Question 2
Question 3
Question 4
在每个节点中有4个checkboxes
- Answer A, Answer B, Answer C, Answer D
,根据点击的复选框,节点的文本将更改为Question1 - A,B,C,D
。问题的答案可能意味着点击了checkboxes
的全部,一个,两个,三个或没有一个。
如果checkbox
为unchecked
,我想要删除的字母是什么
我的代码:
private void ckbAnswerA_CheckedChanged(object sender, EventArgs e)
{
updateAnswerA();
}
void updateAnswerA()
{
var words = new List<string>();
if (ckbOption1.Checked)
{
words.Add("A,");
treeView1.SelectedNode.Text += string.Join(" ", words);
}
等其他checkBoxes
...
上述代码在selecting
checkBoxes
时正常,但在deselecting
答案 0 :(得分:1)
我手动方式,我希望你明白这个想法。
private void ckbAnswerA_CheckedChanged(object sender, EventArgs e)
{
if (ckbAnswerA.Checked)
{
updateAnswerA(true);
}
else
{
updateAnswerA(false);
}
}
private void updateAnswerA(bool flag)
{
if(flag)
{
var words = new List<string>();
words.Add("A,");
treeView1.SelectedNode.Text += string.Join(" ", words);
}
else
{
string update = treeView1.SelectedNode.Text;
update = update.Replace("A,", "");
treeView1.SelectedNode.Text = update;
}
}