使用带有复选框的树视图
Using a Treeview with Checkboxes
我有 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
中的全部、一个、两个、三个或 none。
如果 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
a checkBoxes
时工作正常,但在 deselecting
时不工作
我手动方式,希望你明白。
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;
}
}
我有 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
中的全部、一个、两个、三个或 none。
如果 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
a checkBoxes
时工作正常,但在 deselecting
我手动方式,希望你明白。
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;
}
}