3

我正在使用 .NET CF Framework 构建一个应用程序,并且遇到了一种情况,我想向用户展示一个自定义对话框。

我的解决方案是创建一个简单的表单,其中包含用于选择的单选按钮和一个按钮。单击按钮时,会将选定的单选按钮值保存到公共属性并关闭表单。

UserControl 在窗体上调用 ShowDialog 后,检查公共属性以了解用户选择的选项。

这非常有效。我只是想知道这是否是不好的做法,如果我会以某种方式让自己陷入困境,这样做。UserControl 应该创建一个表单似乎很奇怪。

有没有更好的方法来从 UserControl 中创建自定义对话框?

4

2 回答 2

1

这绝对没有错。MessageBox.Show()它本质上与从 UserControl调用相同。

是的,将结果作为公共属性访问是一种方法。

我猜这将是一个对话?如果您有多个“退出”选项 - 确定、取消等,您应该考虑使用DialogResult 。

于 2012-11-09T13:44:42.783 回答
1

简短的回答:不,它不应该给你带来任何问题。

长答案:随着应用程序的增长,直接从 UserControl 打开表单之类的操作可能会给您一些类似意大利面条的代码。如果您编写的应用程序大于几千行代码,则文件后面的 Form 和 UserControl 代码通常应该是空的。它们不应包含任何业务逻辑,最好也不包含任何 UI 逻辑。看看Passive View等模式如何实现这一点。

于 2012-11-09T13:52:02.050 回答