将复选框的文本调用到消息框?

Call a CheckBox's Text to a 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 中调用它,我该如何实现?谢谢!

  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 -> ButtonBase => 控件的更具体的 Checkbox class。通过更具体的 class,您可以获得针对复选框而不是一般控件的功能。