我主要是一个后端开发人员,但是我正在从事前端设计。我在应用程序中仅构建一个面板(窗体)。我必须根据用户为先前参数选择的内容,动态地从表单中添加/删除其他项。例如,面板顶部将有一个客户下拉列表。我需要能够配置用户选择后将显示哪些其他下拉菜单。我将至少有90种不同的配置。每个配置将有大约50个参数。用C#处理这种情况的最佳方法是什么?
我公司的某人建议对每种配置使用一种新形式,因此我看到人们说要使用用户控件,而其他人则说要动态地将控件放入列表并以这种方式生成内容。其中一些建议似乎违反直觉。
有人可以建议一种“适当”的方法来做到这一点吗?从角度来看,我以前只构建过一种表单,而且非常简单。(这是使用.net 4.0的桌面应用程序)
编辑:这是在Winforms中
这是 WinForms 还是 WPF?
无论如何,您在设计器中执行的任何操作都可以在代码运行时执行。添加控件只是创建新对象并分配属性:
WinForms:
Button btn = new Button();
btn.Name = "Dynamic Button";
btn.Id = "DynButton"
btn.Width = 50;
btn.Click = {...};
[...]
panel.Controls.Add(btn); // panel is a parent container control. You have to have a parent for you button.
Run Code Online (Sandbox Code Playgroud)
WPF 实际上是相同的 - 控件、父级、容器等。
在您的情况下,您可能有一组最初隐藏的面板,其中包含所有内容,并且显示/隐藏它们取决于您的流程逻辑。
祝你好运!