不知道这个问题有多菜鸟或高级,但我一直很难找到一个好的答案,所以我想在这里试一试。
用文字来描述我的问题如下。我有一个程序,Init 在启动时是一个“引擎”,它是该程序所有数据和信息的来源。现在的问题是,如果我现在编写一个新类,我必须在创建类时包含它。
public class ClassName(TMEngine engine)
{
......
}
我想知道我是否可以使用“子:父”类关系在父级上使用它,所以我唯一需要知道的就是它的名称。我已经为 theForm
和UserControl
有一些额外的类编写了类,所以有一个父类。
public partial class msgCtrlContainerCtrl : TMUserControl
{
public msgCtrlContainerCtrl(TMEngine engine)
{
......
}
}
由于这是一个 WinForms 应用程序,我在表单中初始化引擎,但希望在其中创建的所有控件都使用相同的引擎。
在“加载事件”中设置引擎TMUserControl
现在不起作用,因为UserControl
将在“添加”上初始化为UserControl
,并且Load
事件将在此之后运行得更远。
并且当您为新控件执行“添加”时,由于父关系尚未初始化,因此您无法查找控件的父级。
因此,任何想法如何以最好的方式解决这个问题,以使这个引擎在我在这里UserControl
调用的扩展类中同步,TMUserControl
或者它必须在每个使用它的类中?