我创建了一个返回 DialogResult 的消息框。现在我在上面添加了复选框,想知道它是否被选中。那我应该返回什么?我认为的简单方法是创建新的枚举,它将具有 DialogResult 的所有值加上一个指示复选框状态的值
public enum MyDlgResult
{
NONE = DialogResult.NONE,
OK = DialogResult.OK ........................,
CHKBOXCHECKED = 8
}
...并返回此枚举 MyDlgResult。
但这是正确的做法吗?因为每次向我的消息框添加新功能时,我都必须在此枚举中添加值。
如果有的话,更好的方法来做到这一点。
谢谢。
最佳答案
只需将属性添加到该消息框,它将成为 CheckBox 的 Checked 属性的代理,并在 OK 结果表单消息框上检查新属性。
要添加的属性
public bool Checked
{
get { return yourCheckBox.Checked; }
}
最后的代码是这样的
MessBox box = new MessBox();
if(box.Show() == DialogResult.OK)
{
bool isChecked = box.Checked;
}
关于c# - 将复选框添加到消息框时如何返回正确的枚举,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10449879/