C# 表单继承,将信息传递给父加载事件处理程序

C# 表单继承,将信息传递给父加载事件处理程序,c#,winforms,inheritance,C#,Winforms,Inheritance,这是我第一次涉足继承,事实上,正如我在其他地方所说的,我对OO非常陌生,来自C的早期,所以如果这些是愚蠢的问题,请容忍我 我已经创建了一个带有toolstrip和toolstrip导航按钮的父窗体 因为我使用的数据库总是相同的,所以我连接到它并读取表单的加载事件处理程序中的数据集。子窗体中唯一真正的区别是表名。如果我在父窗体中初始化包含表名的受保护变量,一切正常,我可以浏览记录 除了为整个应用程序设置一个全局变量类,并在父窗体中使用该类中的字符串,在调用子窗体之前设置了变量之外,我看不到任何明确

这是我第一次涉足继承,事实上,正如我在其他地方所说的,我对OO非常陌生,来自C的早期,所以如果这些是愚蠢的问题,请容忍我

我已经创建了一个带有toolstrip和toolstrip导航按钮的父窗体

因为我使用的数据库总是相同的,所以我连接到它并读取表单的加载事件处理程序中的数据集。子窗体中唯一真正的区别是表名。如果我在父窗体中初始化包含表名的受保护变量,一切正常,我可以浏览记录

除了为整个应用程序设置一个全局变量类,并在父窗体中使用该类中的字符串,在调用子窗体之前设置了变量之外,我看不到任何明确的方法来定义在设计子窗体时父窗体中将使用什么表。这有意义吗

此外,由于父窗体的加载事件处理程序中有初始数据库处理,因此设计器无法打开子窗体,并出现以下错误:

Data Source cannot be empty. Use :memory: to open an in-memory database 
我还可以把数据库处理代码放在哪里来避免这种情况


顺便说一句,由于我只是部分失明,我自然地用龙来形容,它把上面的话表达为“我在醉汉中永远的感激!”。他知道什么是我不知道的?

尽量避免引用其他帖子,保持帖子简短,切中要害,因为很少有人知道谁是网站上下文中的用户2967095。您可以通过在表单加载事件处理程序的第一行添加设计模式检查来避免设计器错误:
(this.Site!=null&&this.Site.DesignMode)return;
@Brian Rogers谢谢。@Guvante抱歉。只是刚刚研究了如何更改用户名。