C# 在windows窗体C中加载图像时出现问题#
我有两个窗体让我们称它们为form1和form2。form1由一个picturebox和一个按钮组成。当我点击按钮时,form2打开。现在,form2由一个网格组成,根据我在网格上单击的位置,x和y坐标返回到form1。基于这些坐标,我将图像添加到pictureBox。但是图像没有被添加!这里有我遗漏的东西吗 mouseDownEvent中的代码,格式2 表格1中的代码 此行仅创建Form1的新实例C# 在windows窗体C中加载图像时出现问题#,c#,image,picturebox,windows-forms-designer,C#,Image,Picturebox,Windows Forms Designer,我有两个窗体让我们称它们为form1和form2。form1由一个picturebox和一个按钮组成。当我点击按钮时,form2打开。现在,form2由一个网格组成,根据我在网格上单击的位置,x和y坐标返回到form1。基于这些坐标,我将图像添加到pictureBox。但是图像没有被添加!这里有我遗漏的东西吗 mouseDownEvent中的代码,格式2 表格1中的代码 此行仅创建Form1的新实例 public partial class Form2 : Form { Form1 fo
public partial class Form2 : Form
{
Form1 form1; // Reference to form1
public Form2(Form1 form1)
{
this.form1 = form1; // We initialize form1
InitializeComponent();
}
private void button1_Click(object sender, EventArgs e)
{
// we call openimage from form1
form1.openImage(130, 140);
}
}
您可以做的是添加一个Form1变量,该变量将引用您当前的表单
您可以在构造函数中初始化它,然后在按钮中单击将其传递给Form2
public partial class Form1 : Form
{
Form1 form1; // form1 will store the reference of Form1
public Form1()
{
form1 = this; // We initialize form1 in the constructor
InitializeComponent();
}
// button to open form2
private void button1_Click(object sender, EventArgs e)
{
Form2 form2 = new Form2(form1); // We open form2 with form1 as parameter
form2.Visible = true;
}
public void openImage(int x, int y)
{
}
}
现在在Form2中,您只需添加一个Form1变量,该变量将在构造函数中初始化
然后可以使用它,因为它现在表示Form1的当前实例
public partial class Form2 : Form
{
Form1 form1; // Reference to form1
public Form2(Form1 form1)
{
this.form1 = form1; // We initialize form1
InitializeComponent();
}
private void button1_Click(object sender, EventArgs e)
{
// we call openimage from form1
form1.openImage(130, 140);
}
}
我已经用一个标签测试了这个示例,它运行良好,因此我认为picturebox应该没有问题没有理由在
Form1
类中创建并填写Form1 Form1
变量。。。您只需使用newform2(this)
。
public partial class Form1 : Form
{
Form1 form1; // form1 will store the reference of Form1
public Form1()
{
form1 = this; // We initialize form1 in the constructor
InitializeComponent();
}
// button to open form2
private void button1_Click(object sender, EventArgs e)
{
Form2 form2 = new Form2(form1); // We open form2 with form1 as parameter
form2.Visible = true;
}
public void openImage(int x, int y)
{
}
}
public partial class Form2 : Form
{
Form1 form1; // Reference to form1
public Form2(Form1 form1)
{
this.form1 = form1; // We initialize form1
InitializeComponent();
}
private void button1_Click(object sender, EventArgs e)
{
// we call openimage from form1
form1.openImage(130, 140);
}
}