Form1:我已将修饰符设置为公共图像 - > Home_picturebox1
窗体2:
public Form1 Firstform = new Form1(); // This is above the following code
private void PS3IP_Confirm_Click(object sender, EventArgs e)
{
//PS3.ConnectTarget(PS3IP_Textbox1.Text); // Update the IP
Firstform.Home_picturebox1.Show();
//this.Close();
}
它编译得很好但是一旦调用了事件就不会显示图像?
有什么想法吗? ://
答案 0 :(得分:2)
new Form1
完全按照它所说的创建Form1的新实例,你需要传递对原始表单的引用,这样做的一种方法是在构造函数中。
private Form1 FirstForm;
public Form2(Form1 myForm)
{
FirstForm = myForm;
}
答案 1 :(得分:1)
<强>问题:强>
宣布
时public Form1 Firstform = new Form1();
它实际上是在创建一个新表单对象。
<强>解决方案:强>
您需要将Form1
的对象作为参数发送到Form2
,然后更改Home_picturebox1
的可见性。
在Form1中:
private void btnGoToForm2_Click(object sender, EventArgs e)
{
PS3IP obj= new PS3IP(this);
obj.Show();
}
在Form2中:
public Form1 Firstform;
public PS3IP(Form1 ParentForm)
{
InitializeComponent();
FirstForm=ParentForm;
}
private void PS3IP_Confirm_Click(object sender, EventArgs e)
{
//PS3.ConnectTarget(PS3IP_Textbox1.Text); // Update the IP
Firstform.Home_picturebox1.Show();
//this.Close();
}
答案 2 :(得分:0)
您没有引用form1的当前实例,但是您创建了一个新实例,请尝试:
Form1 form1;
public Form6(Form1 form1)
{
InitializeComponent();
this.form1=form1;
}
private void PS3IP_Confirm_Click(object sender, EventArgs e)
{
form1.Home_picturebox1.Show();
//this.Close();
}