SeRgikON
03-12-2011, 19:29
есть две формы, одна родительская (MainForm), другая дочерняя (ChildForm) с элементом PictureBox (по ней создаются другие дочерние формы), как получить доступ к PictureBox'у активной дочерней формы (т.е допустим загрузить в него картинку)
например:
public class MainForm: Form
{
private void создание_нового_окна(object sender, EventArgs e)
{
if (ofd.ShowDialog() == DialogResult.OK) //где ofd - OpenFileDialog
{
ChildForm cf = new ChildForm ();
cf.MdiParent = this;
cf.PictureBox.Image = Image.FromFile(ofd.FileName);
cf.Show();
}
}
}
так будет создаваться новое окно с выбранной картинкой, но как потом перезаписать эту картинку (допустим применив к ней какой-нибудь фильтр).
если вынести создание объекта класса дочерней формы (ChildForm cf = new ChildForm ()) из метода и объявить его в классе, то к PictureBox'у можно будет обратиться и перезаписать картинку, но соответственно MDI уже не будет, т.к просто будет "переоткрываться" одна и та же форма...я походу сильно туплю, подскажите как исправить)
например:
public class MainForm: Form
{
private void создание_нового_окна(object sender, EventArgs e)
{
if (ofd.ShowDialog() == DialogResult.OK) //где ofd - OpenFileDialog
{
ChildForm cf = new ChildForm ();
cf.MdiParent = this;
cf.PictureBox.Image = Image.FromFile(ofd.FileName);
cf.Show();
}
}
}
так будет создаваться новое окно с выбранной картинкой, но как потом перезаписать эту картинку (допустим применив к ней какой-нибудь фильтр).
если вынести создание объекта класса дочерней формы (ChildForm cf = new ChildForm ()) из метода и объявить его в классе, то к PictureBox'у можно будет обратиться и перезаписать картинку, но соответственно MDI уже не будет, т.к просто будет "переоткрываться" одна и та же форма...я походу сильно туплю, подскажите как исправить)