大家帮我看一下代码。我现在想在Form2的按钮单击时,FORM1中的图片隐藏起来。代码如下:
FORM1 private void btn1_Click(object sender, EventArgs e)
{
//ChangePic(); //此代码已测试正常 Form2 fm2 = new Form2();
fm2.Show();
} public void ChangePic()
{
pictureBox1.Visible = false;
}
FORM2 private void btn2_Click(object sender, EventArgs e)
{
//调用FORM1中的ChangePic方法
Form1 fm1 = new Form1();
fm1.ChangePic();
}
但是不能达到预期的效果,FORM1中的图片还是照样显示的,
不知为何?求高人解答。
FORM1 private void btn1_Click(object sender, EventArgs e)
{
//ChangePic(); //此代码已测试正常 Form2 fm2 = new Form2();
fm2.Show();
} public void ChangePic()
{
pictureBox1.Visible = false;
}
FORM2 private void btn2_Click(object sender, EventArgs e)
{
//调用FORM1中的ChangePic方法
Form1 fm1 = new Form1();
fm1.ChangePic();
}
但是不能达到预期的效果,FORM1中的图片还是照样显示的,
不知为何?求高人解答。
所以你更改的只是new出来的Form1 你可以写一句 fm1.show()来验证我说的~~
{
Form2 frm = new Form2();
frm.ClickBtn += new Form2.BtnEventHandler(ChangePic);
frm.Show();
} public void ChangePic()
{
pictureBox1.Visible = false;
}Form2public delegate void BtnEventHandler(); public event BtnEventHandler ClickBtn; private void button1_Click(object sender, EventArgs e)
{
if (ClickBtn != null)
{
ClickBtn();
}
}
fm1.ChangePic();
fm1.Show();
这样就行了
{
//调用FORM1中的ChangePic方法
((fm1)this.owner).ChangePic();
}试试
LS好高级= =
是我的话 我就把Form1当参数传给Form2.。 当然这种方法比较低级。。
变成((form1)this.owner).ChangePic();