将CheckBox的文本调用到MessageBox?

时间:2018-10-19 20:45:36

标签: c# checkbox messagebox

您好,我在尝试使代码的这一部分正常工作时遇到了麻烦:

 private void selectedBox(string text)
    {
        var boxes = new Control[] { f1.checkEdit7, f1.checkEdit8, f1.checkEdit9 };
        foreach (var box in boxes)
        {
            if(box.Checked == true)
            {
                text = box.Text.ToString();
            }
        }
    }

我希望能够获取所选复选框的文本并在MessageBox中调用它,我将如何实现?谢谢!

1 个答案:

答案 0 :(得分:1)

  private List<string> selectedBoxes()
    {
        List<string> checkBoxText = new List<string>();
        var boxes = new CheckBox[] { checkBox1, checkBox2, checkBox3 };
        foreach (var box in boxes)
        {
            if (box.Checked == true)
            {
                checkBoxText.Add(box.Text);

            }
        }
        return checkBoxText;
    }
    public void ShowMessage()
    {
        var selectedCheckboxes = selectedBoxes();
        MessageBox.Show(string.Join(",", selectedCheckboxes));
    }

最大的变化是使用了更特定的Checkbox类,该类继承自Checkbox-> ButtonBase =>控件。使用更具体的类,您将获得针对复选框而非常规控件的功能。