我正在创建一个实用程序,该实用程序需要足够灵活以使用用户输入的不同类型的数据。不仅仅是不同的数据,因为一个用户可能会输入“Rory Gallagher”另一个“Merle Travis”另一个“Louis Jordan”和另一个“Gatemouth Brown”。
更像是一个用户会输入“Rory Gallagher”另一个“42”和另一个同时输入日期(例如 9/8/1956)和 ID 值(例如“00034872184”)。
所以问题出在 GUI 上:我怎样才能“换掉”提示他们输入的表单部分?创建几个 99% 相同的实用程序似乎有点矫枉过正。但是应用程序的某些“版本”只需要一个“输入一些值”标签和一个文本框,而另一个可能需要提示它们输入两条甚至更多条信息。
我不想在表单上有一个“输入数据”按钮来调用另一个表单,因为当用户只需要输入一个信息时,这看起来很奇怪。
我在想策略模式可能会在我的未来出现,但 GUI 部分仍然是个难题。如果我们使用 WPF 会更容易,但我们不是。我想我仍然可以留出足够大的表格部分以包含“最大”场景,但这是最好的方法吗?
更新
我尝试了以下建议:
我在表单中添加了一个面板,并通过 Add | 创建了一个用户控件。UserControl 并尝试了这个:
panel1.Controls.Add(UserControl1);
UserControl1.Dock = DockStyle.Fill;
...但遭遇了史诗般的失败(“'PlatypiRUs.UserControl1' 是一个'类型',但用作'变量'”和“非静态字段、方法或属性'System. Windows.Forms.Control.Dock.get'")
再次更新
现在有了史诗般的成功:
UserControl1 usr1 = new UserControl1();
panel1.Controls.Add(usr1);
usr1.Dock = DockStyle.Fill;