Вызов метода в другой форме в C # - PullRequest
1 голос
/ 08 мая 2009

Я создаю основной редактор изображений. В моем приложении, если пользователь хочет изменить размер изображения, появляется новая форма и просит пользователя ввести новую ширину и высоту для изображения.

public partial class Form1 : Form
{
...
    private void resizeToolStripMenuItem_Click(object sender, EventArgs e)
    {
        resize resizeForm = new resize();
        resizeForm.ShowDialog();
    }
...
}

Мне интересно, как я могу получить значения из resizeForm и использовать их для изменения изображения в родительской форме (экземпляр Form1).

Если этот вопрос требует уточнения, пожалуйста, дайте мне знать.

Спасибо!

Ответы [ 3 ]

4 голосов
/ 08 мая 2009

Я предполагаю, что есть несколько способов сделать это. Я бы, вероятно, использовал открытые свойства для resizeForm и затем получал их, когда resizeForm.ShowDialog () возвращает.

if (resizeForm.ShowDialog() == DialogResult.OK) // or whatever
{
   myVal = resizeForm.Val;
   ...
}

или что-то в этом роде.

3 голосов
/ 08 мая 2009

Настройте свойства в вашем классе "resize" для значений, которые вы хотите получить. Например, если вы добавите свойство ширины:

public int Width { get; set; }

вы сможете получить ширину из вашего класса Form1.

2 голосов
/ 08 мая 2009

Добавьте к форме изменения размера свойства, которые ваша основная форма может запрашивать после закрытия формы изменения размера, например ...

DialogResult dr = resizeForm.ShowDialog();

if( dr != DialogResult.Cancel )
{
  var newH = resizeForm.Height;
  var newW = resizeForm.Width;

  // do something with new vals.
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...