Form1 f1 = new Form1();
Эта строка создает только новый экземпляр Form1
. Вы можете добавить переменную 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