【发布时间】:2016-01-17 23:01:50
【问题描述】:
我几乎用 VS2012 使用 WinForms 完成了 Connect4 游戏。一切运行良好,但我想在专用的“开始”菜单窗口中为用户提供选项。在那个菜单上,我有两个组合框,我需要从中获取文本,以将它们用作其他形式(游戏窗口)中两个变量的值。我还有一个新游戏按钮,如果可能的话,它应该从我的其他表单中调用一个方法(基本上,我在我的游戏表单中创建了一个“Initialization()”方法,我希望它在我单击“新建”时启动游戏”按钮)。
我只找到了展示如何从一种形式到另一种形式的非常基本的事情的教程(例如标记文本),但我没有找到针对我的具体问题的答案。
我在主窗体中使用它来实例化菜单窗体
public FormMenu myMenu;
myMenu = new FormMenu();
我想做的是,我可以用另一种形式做这样的事情:
amountOfRows = Int32.Parse(myMenu.comboBoxRows.Text);
amountOfColumns = Int32.Parse(myMenu.comboBoxColumns.Text);
知道我该怎么做吗?
【问题讨论】:
-
嗨,@Morgoth。首先,欢迎来到 StackOverflow... 请注意,通常问题应该总是附有一些代码。现在不可能提出一个好的方法,因为我们不知道你的代码是什么样的。有许多解决方案,最简单的方法是在一个类中使用两种形式都可以访问的静态变量。
-
感谢您的回答。我在原始帖子中添加了一些代码,以更具体地说明我想要做什么。
-
您可以访问您的 FormMenu 的公共成员,只要它在范围内。这比在父类中使用静态变量要复杂一些,但要好一些。 formMenuInstance.someMember 会给你会员
-
另外,提出好的问题的一部分是能够将其分解为最简单的块......这就是你应该用 SO 问题做的......只需做一个复制你的问题的最简单的例子在这里发帖。
-
好的,我会记住这一点,我是新来的,所以我真的不知道它是如何工作的。感谢您的帮助。
标签: c# forms winforms visual-studio-2012