我在一个解决方案中有两个项目: GUI和Controls。
控件应该有我们公司的自定义控件,并且所有表单都位于GUI中。然而,在帝国之前的黑暗时代,一些天才认为创建一个TextBoxLookup控件是个好主意。这有一个可以设置的自定义属性(如BankAccount)和一个右边有一个按钮的文本框。当您单击该按钮时,它会通过一个case语句并显示适当的表单,例如
select Case Me.LookupField
.
.
.
Case FieldsEnum.BankAccount
Dim x as new frmBankAccountLookup
x.ShowDialog
Case FieldsEnum...
.
.
.
End Select随着时间的推移,这导致了大约20个表单(这些表单属于GUI)实际上被塞满在控件项目中,这样它们就可以被引用!
GUI引用控件项目,并在屏幕上有textbox。我正在努力清理这个问题,并将它们带回到它们所属的GUI中。当按下按钮时,我如何将Me.LookupField属性弹回GUI项目并让它弹出表单?代表们?事件?基本表格?查找控件被用于无数种形式,因此消除它是不可能的.
发布于 2009-07-01 06:38:34
如果控件引发一个事件来通知选择了哪一项,则会好得多。然后,包含控件的表单可以响应事件并显示适当的表单。这将允许您将控件与了解其他窗体分离开来。
发布于 2009-07-01 06:41:08
您需要将控件的设计与实际的逻辑分开。
让控件只触发用户单击按钮的事件,然后在GUI项目中处理它(在该项目中,您创建控件的实例)。
这样,您就可以将任何功能附加到控件上,并在其他项目中轻松地重用它。
https://stackoverflow.com/questions/1067571
复制相似问题