大家好啊,向大家请教个问题:
在Form1中打开Form2,然后执行Form2的某个方法,
根据处理结果来选择执行Form1中的两个方法;
Form1中的两个方法实际是做初始化界面用的,根据需要给与不同的提示信息; //Form1中主要方法*****************************
//Form1的Button1
private void button1_Click(object sender, EventArgs e)
{
Form2 f2 = new Form2();
f2.ShowDialog();
f2.Dispose();
} //Form1的Button2
private void button2_Click(object sender, EventArgs e)
{
//初始化001
MessageBox.Show("执行Form1的Button2");
} //Form1的Button3
private void button3_Click(object sender, EventArgs e)
{
//初始化002
MessageBox.Show("执行Form1的Button3");
}
//Form2中主要方法*****************************
//Form2窗体的Button1
private void button1_Click(object sender, EventArgs e)
{
string tmp_str = "";
tmp_str = this.textBox1.Text.Trim().ToString(); if (tmp_str == "A")
{
//返回到窗体Form1时,
//自动执行Form1中的方法
//private void button2_Click(object sender, EventArgs e) {...}
} if (tmp_str == "B")
{
//返回到窗体Form1时,
//自动执行Form1中的方法
//private void button3_Click(object sender, EventArgs e) {...}
}
}
//关闭窗体Form2,返回到窗体Form1
private void button2_Click(object sender, EventArgs e)
{
this.Close();
}
在Form1中打开Form2,然后执行Form2的某个方法,
根据处理结果来选择执行Form1中的两个方法;
Form1中的两个方法实际是做初始化界面用的,根据需要给与不同的提示信息; //Form1中主要方法*****************************
//Form1的Button1
private void button1_Click(object sender, EventArgs e)
{
Form2 f2 = new Form2();
f2.ShowDialog();
f2.Dispose();
} //Form1的Button2
private void button2_Click(object sender, EventArgs e)
{
//初始化001
MessageBox.Show("执行Form1的Button2");
} //Form1的Button3
private void button3_Click(object sender, EventArgs e)
{
//初始化002
MessageBox.Show("执行Form1的Button3");
}
//Form2中主要方法*****************************
//Form2窗体的Button1
private void button1_Click(object sender, EventArgs e)
{
string tmp_str = "";
tmp_str = this.textBox1.Text.Trim().ToString(); if (tmp_str == "A")
{
//返回到窗体Form1时,
//自动执行Form1中的方法
//private void button2_Click(object sender, EventArgs e) {...}
} if (tmp_str == "B")
{
//返回到窗体Form1时,
//自动执行Form1中的方法
//private void button3_Click(object sender, EventArgs e) {...}
}
}
//关闭窗体Form2,返回到窗体Form1
private void button2_Click(object sender, EventArgs e)
{
this.Close();
}
解决方案 »
- 急求C#解答。
- vs2008 安装部署项目怎么样才能支持多国语言?
- 一个Substring的问题
- winform中把datatable中的数据导出到csv文档时,应该如何设定中文编码??
- 用.NET调用VB做的DLL 在Users权限下面被拒绝访问的问题
- 关于DataGridViewComboBoxColumn取值不正确
- 如何看一个文件当前被哪些程序引用
- 大家在公司用什么软件做bug跟踪的?
- WINCE 下 Button 控件的TEXT属性显示文本时怎样多行显示?求高手解答
- 关于局域网内的电脑互相拷贝文件的问题
- 如何在WinForm中添加查询取消的功能
- C#编程中如何实现windows窗体切换
需要用到SENDMESSAGE POSTMESSAGE么?
Form2 f2 = new Form2();
f2.tmpstrA += new EventHandler(istmpstrA);private void istmpstrA(object sender, EventArgs e)
{
//处理事务。
//初始化001
}Form2
public event System.EventHandler tmpstrA;
if (tmp_str == "A")
{
//返回到窗体Form1时,
//自动执行Form1中的方法
tmpstrA (this, EventArgs.Empty);
}
//Form1中主要方法*****************************
//Form1的Button1
private void button1_Click(object sender, EventArgs e)
{
Form2 f2 = new Form2(); f2.F1Form = this; //修改 f2.ShowDialog();
f2.Dispose();
} //Form1的Button2
private void button2_Click(object sender, EventArgs e)
{
Init001(); //修改
} //Form1的Button3
private void button3_Click(object sender, EventArgs e)
{
Init002(); //修改
}
public void Init001()
{
//初始化001
MessageBox.Show("执行Form1的Button2");
} public void Init002()
{
//初始化002
MessageBox.Show("执行Form1的Button3");
}
//Form2中主要方法*****************************
//Form2窗体的Button1
public Form F1Form
{
get;
set;
} private void button1_Click(object sender, EventArgs e)
{
string tmp_str = "";
tmp_str = this.textBox1.Text.Trim().ToString(); if (tmp_str == "A")
{
//返回到窗体Form1时,
//自动执行Form1中的方法
//private void button2_Click(object sender, EventArgs e) {...} //修改
if (F1Form != null)
F1Form.Init001();
} if (tmp_str == "B")
{
//返回到窗体Form1时,
//自动执行Form1中的方法
//private void button3_Click(object sender, EventArgs e) {...} //修改
if (F1Form != null)
F1Form.Init002();
}
}
//关闭窗体Form2,返回到窗体Form1
private void button2_Click(object sender, EventArgs e)
{
this.Close();
}
{
Form2 f2 = new Form2();
//打开模式窗口并获得返回值
DialogResult result=f2.ShowDialog(this); //根据返回值做操作
if (result== DialogResult.Yes)
{
button2_Click(sender, e);
}
else if (result == DialogResult.No)
{
button3_Click(sender, e);
}
f2.Dispose();
}
form2 DialogResult result; //返回值 //Form2窗体的Button1
private void button1_Click(object sender, EventArgs e)
{
string tmp_str = "";
tmp_str = this.textBox1.Text.Trim().ToString(); if (tmp_str == "A")
{
//返回值1
result = DialogResult.Yes;
}
if (tmp_str == "B")
{
//返回值2
result = DialogResult.No;
}
} //关闭窗体Form2,返回到窗体Form1
private void button2_Click(object sender, EventArgs e)
{
//设置本窗口的返回值
this.DialogResult = result;
this.Close();
}
public partial class Form1 : Form
{
object s=new object();
public Form1()
{
InitializeComponent();
}
public int i = 0;
private void button1_Click(object sender, EventArgs e)
{
Form2 f2 = new Form2(this);
f2.ShowDialog();
if (i == 1)
{
//处理你的方法
}
if (i == 2)
{
//处理你的方法
}
}
}
public partial class Form2 : Form
{
Form1 a;
public Form2(Form1 s)
{
InitializeComponent();
a = s;
} private void button1_Click(object sender, EventArgs e)
{
string tmp_str = "";
tmp_str = this.textBox1.Text.Trim().ToString(); if (tmp_str == "A")
{
//返回到窗体Form1时,
//自动执行Form1中的方法
//private void button2_Click(object sender, EventArgs e) {...}
a.i = 1;
} if (tmp_str == "B")
{
//返回到窗体Form1时,
//自动执行Form1中的方法
//private void button3_Click(object sender, EventArgs e) {...}
a.i = 2;
} }
}