我在解决方案中有两个项目:GUI和控件。
控件应该具有我们公司的自定义控件,并且所有表单都存在于GUI中。然而,在帝国之前的黑暗时代,一些天才认为创建一个TextBoxLookup控件是个好主意。这有一个你可以设置的自定义属性(例如BankAccount)和一个带右边按钮的文本框。当您单击按钮时,它会通过案例陈述并显示相应的表单,例如
select Case Me.LookupField
.
.
.
Case FieldsEnum.BankAccount
Dim x as new frmBankAccountLookup
x.ShowDialog
Case FieldsEnum...
.
.
.
End Select
随着时间的推移,这导致大约20个表单(属于GUI)实际上被塞入控件项目中,因此可以引用它们!
GUI引用Controls项目并在屏幕上显示文本框。我正在尝试清理它并将它们放回到它们所属的GUI中。按下按钮时,如何将Me.LookupField属性轻弹回GUI项目并让 it 调出表单?代表们?活动?基本形式?查找控件正在以数以万计的形式使用,因此消除了它......
答案 0 :(得分:2)
如果控件引发事件以通知哪个项目已被选中,那将会更好。然后包含控件的表单可以响应事件并显示相应的表单。这应该允许您将控件与其他表单分开。
答案 1 :(得分:0)
您需要将控件的设计与实际逻辑分开。
让控件简单地触发用户单击按钮的事件,然后在GUI项目中处理它(创建控件实例的位置)。
通过这种方式,您可以将任何功能附加到控件上,并轻松地在其他项目中重复使用。