我有一个表单,我最初加载(登录),在该窗口之后,是控制所有内容的主窗口。我感到好奇的是有一种方法可以创建我需要的所有表单的实例(如果不是所有表单都在同一个会话中使用,则不会创建所有表单)。
我遇到了一个问题,我想使用一个普通的'具有所有窗口可以使用的函数的类,但我不确定我如何能够实例化公共类的对象,并在整个会话中访问该类,并保存所有表单中的所有数据。 / p>
示例:
主窗口加载,我们实例化公共类并运行一些函数来保存一些数据以在整个主窗口中使用,但是如果我点击打开新表单的按钮,那么该表单将无法访问公共类,除非我在那里实例化,但是这样做我丢失了在该公共类中保存的所有数据。
我错过了什么吗?我是否能够只实例化一次公共类(或任何形式),而不必重新实例化类或表单,从而丢失我已经保存的所有信息'?
答案 0 :(得分:1)
您的Common Class
听起来需要成为singleton
,或者您需要在表单之间传递对它的引用。
单例模式将确保只有一个引用。有些人可能会考虑以这种方式使用单身作为code-smell
,但它可能是最简单的方法来做你想要的。有关在vb.net中制作单个音乐的示例,请参阅Here。
传递参考可能是更好的方法,但稍微复杂一些。