【发布时间】:2014-08-14 19:36:06
【问题描述】:
首先我知道有类似的问答。我似乎还没有找到我正在寻找的答案,但我可能错过了它。其次,我是 C# 语言的新手,因为我主要使用 C++ 工作,所以如果这是一个愚蠢的问题,请原谅我。
现在介绍一下我想要完成的工作。我正在制作一个 Paint 应用程序。第一个表单,我称之为 Form1,是我的应用程序的所有 UI 以及用户将绘制的地方。我想让用户选择不同的画笔类型和大小。在 Form1 上,我有一个按钮,用户可以单击该按钮来更改这些选项。单击此按钮时,它将启动我称之为 Form2 的内容。 Form2 将具有画笔类型和大小的选项,当用户选择它们并单击“确定”按钮时,应将大小和画笔类型传回。我只是使用两个 int 变量来保存画笔类型和画笔大小以保持简单,因为 Form1 需要知道这一点,而不是 Form2。
我找到的所有信息都是用于将信息从 Form1 传递到 Form2,而我真的想将信息从 Form2 传递到 Form1。 有没有简单的方法可以做到这一点?我也会为其他几个按钮传递这样的信息,所以我希望不要让事情变得过于复杂。
非常感谢您的宝贵时间!!! :)
这是在调用 Form2 的 Form1 中
private void brushBtn_Click(object sender, EventArgs e)
{
//New form which will ask which brush type and the size
Form2 paintInfo = new Form2() ;
paintInfo.ShowDialog();
}
这是 Form2
public partial class Form2: Form
{
public Form2()
{
InitializeComponent();
}
int typeOfBrush;
//User picked the circle brush
private void circleBrushBtn_Click(object sender, EventArgs e)
{
typeOfBrush = 1 ;
}
//User picked the square brush
private void squareBrushBtn_Click(object sender, EventArgs e)
{
typeOfBrush = 2 ;
}
private void okBtn_Click(object sender, EventArgs e)
{
//PASS THE BRUSH TYPE & SIZE BACK TO FORM1 WHEN USER HITS OK BUTTON
this.Close() ;
}
}
【问题讨论】:
-
听起来
Form2正在充当对话。如果是这样,您只需将公共属性添加到Form2以供Form1使用。但是,您需要发布一些代码(特别是Form2的创建和显示方式)以更好地帮助您。 -
确实没有区别:您需要设置其他形式的引用.. 一种方式两种方式,由您决定。
-
我刚刚添加了我的代码,抱歉,我解释后认为不需要我的代码。
标签: c# multiple-forms