簡體   English   中英

將Treeview與復選框一起使用

[英]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被單擊。 什么即時試圖做的是去除信,如果一個checkboxunchecked我的代碼:

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時則不能正常工作

我以手動方式,希望您能理解。

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;
    }
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM