Добрый день! У меня есть две формы PZ6 и inputForm Вторая вызывается из первой по нажатию кнопки.
private void inputButton_Click(object sender, EventArgs e)
{
inputForm change = new inputForm();
input.Show();
}
В PZ6 у меня есть label называемый ValuesLabel, туда выводятся значения. Как сделать, чтобы после закрытия inputForm эти значения обновлялись. Пытался прописать это в самой inputForm, но не получилось. Пытался прописать как метод в PZ6.cs, ругается на то, что ValuesLabel не static. Есть идеи?
Может быть, вам нужно вот что:
using (inputForm change = new inputForm())
{
var result = change.ShowDialog(this);
if (result == DialogResult.OK)
{
var firstValue = change.ИмяВашейПервойМетки;
var secondValue = change.ИмяВашейВторойМетки;
// ну и пишите эти значения куда надо
}
}
Один из способов - это предоставить классу формы inputForm объект формы PZ6.
Добавьте в конструктор inputForm параметр типа PZ6 и передавайте туда экземпляр данной формы. Тогда вы сможете манипулировать формой PZ6 из inputForm.
Будет выглядеть примерно так:
public class PZ6
{
public string ValuesLabel;
private void inputButton_Click(object sender, EventArgs e)
{
inputForm change = new inputForm(this);
input.Show();
}
}
public class inputForm
{
// Приватное поле для взаимодействия с PZ6
private PZ6 _pz6;
// Конструктор принимает объект PZ6
public inputForm(PZ6 pz6)
{
this._pz6 = pz6;
}
// Изменить текст метки
public void ChangeLabel(string value)
{
_pz6.ValuesLabel.Text = value;
}
}
Продвижение своими сайтами как стратегия роста и независимости