我有一个带有MenuItem的Form1' Customize'。点击自定义后,我打开' Form2'。在Form2上,用户从ColorDialog中选择两种颜色。 Form2已经申请了#39;按钮。我想点击'应用'按钮,Form2应该关闭(或隐藏),并且应该将所选颜色应用(绘制)为Form1的背景颜色。我该怎么做?
答案 0 :(得分:1)
你在form1中创建一个公共方法“selectcolor()”,关闭所有表单,打开一个新的form1并使用selectcolor()来选择颜色
答案 1 :(得分:0)
当您单击按钮打开表单2时,请执行以下操作:
Form2 f = new Form2();
f.ShowDialog();
var returnedColor = f.SelectedColor;
这将中断form1中的代码,因此您无法在那里进行更改,并从表单中返回值。
public class Form2{
public string SelectedColor = "Test";
}
这应该有用。
答案 2 :(得分:0)
在表单2中,您需要有两个属性可以访问以检索颜色
public Color FirstColor {get; private set;}
public Color SecondColor {get; private set;}
然后要打开此表单,您应该使用以下内容。
using(var myForm = new Form2())
{
myForm.ShowDialog();
//if(myForm.ShowDialog() == DialogResult.OK)
this.BackColor = myForm.FirstColor;
}
如果对话框中有ok / cancel按钮,则可以引用注释行而不是上面的行。要关闭表单,您应该正确设置表单DialogResult
答案 3 :(得分:0)
你可以使用这样的静态变量: 在Form1中:
Public Static Color SelectedColor;
Form1 f1 = new Form1();
f1.ShowDialog();
this.BackColor = SelectedColor;
Form2中的:
if(ColoeDialog1.ShowDialog()==DialogResault.OK)
{
Form1.SelectedColor = ColoeDialog1.SelectedColor;
}