C#多窗体传属性,值。求大神指导。现在建立了form1和form2,form2是在form1里面点击选项之后出来这个窗口
在form2里面需要设置一些属性之后传回form1,比如第一个“删除段首尾空格”选中之后点击确定了,在form1(主程序)这个排版程序里起作用。在form1排版时候就要考...
在form2里面需要设置一些属性之后传回form1,比如第一个“删除段首尾空格”选中之后点击确定了,在form1(主程序)这个排版程序里起作用。在form1排版时候就要考虑这个选项是否选中,如果选中了,就要删除段首尾空格,这个用什么方法,麻烦大神详细点,菜鸟一个。
展开
3个回答
展开全部
刚好有时间写了个,看合适不。
form1:
Form2 f2 = new Form2();
f2.Show();
f2.CallbackEvent += new EventHandler<ModelEventArgs>(f2_CallbackEvent);
void f2_CallbackEvent(object sender, ModelEventArgs e)
{
MessageBox.Show(e.Field2);
}
public class ModelEventArgs : EventArgs
{
public string Field1 { get; set; }
public string Field2 { get; set; }
//这里是属性
}
form2:
public event EventHandler<ModelEventArgs> CallbackEvent; 事件定义
private void button1_Click(object sender, EventArgs e)
{
ModelEventArgs molde = new ModelEventArgs() { Field1="111",Field2="22"};
if (CallbackEvent != null)
CallbackEvent(sender, molde);
}
form1:
Form2 f2 = new Form2();
f2.Show();
f2.CallbackEvent += new EventHandler<ModelEventArgs>(f2_CallbackEvent);
void f2_CallbackEvent(object sender, ModelEventArgs e)
{
MessageBox.Show(e.Field2);
}
public class ModelEventArgs : EventArgs
{
public string Field1 { get; set; }
public string Field2 { get; set; }
//这里是属性
}
form2:
public event EventHandler<ModelEventArgs> CallbackEvent; 事件定义
private void button1_Click(object sender, EventArgs e)
{
ModelEventArgs molde = new ModelEventArgs() { Field1="111",Field2="22"};
if (CallbackEvent != null)
CallbackEvent(sender, molde);
}
展开全部
有个很简单的方法,在弹出的窗口Form2类中,定义一个静态的Form1变量,然后Form2 frm2=new Form2(From1 f),之后直接改变这个静态变量的值就可以了,Form1中会跟着改变.
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
这个其实是程序或类的作用域的问题,f2是一个封装的类,f1也是一个封装的类,而现在设置f2的一个属性让它改变f1中的一个属性的值,这么理解很容易解决问题的。。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询