首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >我可以将我的表单用作静态表单吗?

我可以将我的表单用作静态表单吗?
EN

Stack Overflow用户
提问于 2012-01-05 06:32:28
回答 3查看 131关注 0票数 0

我的程序有多个表单。这些表单中的一些将从能够相互通信中受益良多,然而,如果Form1创建Form2的实例,Form2就不能回调Form1,至少不是很容易。

让我的窗体成为静态的,这样它们就可以相互通信,而不需要在任何地方实例化这些类的对象,这是可以接受的吗?

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2012-01-05 06:35:36

但是,如果Form1创建了一个Form2实例,Form2就不能回调Form1,至少不能很容易地回调

是的,它可以--只要让你的Form2实例知道Form1的实例,比如通过一个构造函数:

代码语言:javascript
复制
// In Form1
Form2 form2 = new Form1(this);

(请注意,如果您的类真的称为Form1Form2,则值得为它们指定更有语义意义的名称。拒绝坚持使用Visual Studio给你的任何东西的诱惑:)

我强烈建议不要仅仅为了避免直接提供依赖项而使用statics。

票数 3
EN

Stack Overflow用户

发布于 2012-01-05 06:35:48

我从来没有创建过静态表单..通常我只是为我的表单实例创建一些全局变量...

也可以通过当前窗体的.Parent属性访问其他窗体,只要在.Show( form )或.ShowDialog(form)方法中传递调用窗体即可。

票数 0
EN

Stack Overflow用户

发布于 2012-01-05 06:36:58

按如下方式更改Form2的构造函数

代码语言:javascript
复制
public Form2(Form form1)
{
   _parentForm = form1;
}

现在,您有了对form1的引用。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/8735059

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档