我正在使用.NET CF Framework构建应用程序,我遇到了一种情况,我希望向用户显示一个自定义对话框。
我的解决方案是创建一个简单的表单,其中包含用于选择的单选按钮和一个按钮。单击此按钮时,将选定的单选按钮值保存到公共属性并关闭表单。
UserControl在表单上调用ShowDialog后,检查公共属性以了解用户选择的选项。
这完美无缺。我只是想知道这是不好的做法,如果我要让自己陷入困境,不知何故这样做。 UserControl应该创建一个Form似乎很奇怪。
是否有更好的方法可以在UserControl中创建自定义对话框?
答案 0 :(得分:1)
绝对没有错。它与从UserControl调用MessageBox.Show()
基本相同。
是的,将结果作为公共财产来访问就是这样做的。
我猜这将是一个对话?如果您有多个“退出”选项,请考虑使用DialogResult - 确定,取消等
答案 1 :(得分:1)
简短回答:不,它不应该给你任何问题。
答案很长:随着应用程序的增长,直接从UserControl打开Form这样的事情可能会给你一些意大利面条代码。如果您编写的应用程序大于几千行代码,那么文件后面的Form和UserControl代码通常应该是空的。它们不应包含任何业务逻辑,也不应包含任何UI逻辑。看看Passive View如何实现这一目标的模式。