public partial class mainForm : Form
{
int i;
private void button1_Click(object sender, EventArgs e)
{
i++;
{
textBox1.Text=Convert.ToString(i);
}
}
private void button2_Click(object sender, EventArgs e)
{
copyMode frm2 = new copyMode();
frm2.ShowDialog();
}
)
Передача данных между формами в C#
Есть переменная в первой её нужно передать во вторую
А так же есть переменная во второй форме её нужно передать в первую.
Такой же вопрос относительно функций как во второй использовать функции из первой и наоборот.
ваш форум уже не раз мне помогал.. надеюсь на помощь и в этот раз =)
я знаю два варианта.. изенения модификатора доступа с приват на паблик а второй это изменение конструктора при создании формы...
ApplicationState state = new ApplicationState();
Form1 form1 = new Form1(state);
....
Form2 form2 = new Form2(state);
Он пойдет если в то время как отображается вторая форма значение в первой меняется со временем.
Будет ли оно так же меняться во второй как и в первой.
Ссылку на этот объект можно хранить в каждой форме.
Первая форма.
Код:
Вторая форма
Код:
public partial class copyMode : Form
{
private void button1_Click(object sender, EventArgs e)
{
textBox1.Text=Convert.ToString(i);
}
private void button2_Click(object sender, EventArgs e)
{
i++;
}
private void button3_Click(object sender, EventArgs e)
{
this.Close();
}
}
{
private void button1_Click(object sender, EventArgs e)
{
textBox1.Text=Convert.ToString(i);
}
private void button2_Click(object sender, EventArgs e)
{
i++;
}
private void button3_Click(object sender, EventArgs e)
{
this.Close();
}
}
Подскажите пожалуйста как сделать что бы После Открытия второй формы я в ней мог использовать переменную i первой и наоборот изменив её во второй форме и закрыв форму измененную i мог использовать в первой.
Сколько уже способов перебрал =( увы не могу понять их логики =(
Цитата: shadowmaster63
А можно спримером ?
Используй поиск.
Выведи переменую в третий класс, экземпляр которого и передавай в каждую форму.
Форма 2:
Содержит текстовое поле TB
пишем в коде:
public string TBtext
{ get {return TB.Text; }
set {TB.Text = value; }}
В Форме 1:
Form2 F = new Form2();
string t = F.TBtext; //вернет текст поля из формы 2 (в данном случае текст по умолчанию)
F.TBtext = "Test";
F.ShowDialog(); //Покажет форму 2 с текстом "Test"
Цитата: foolsoft
Я делаю либо путем Конструктора либо так:
Форма 2:
Содержит текстовое поле TB
пишем в коде:
public string TBtext
{ get {return TB.Text; }
set {TB.Text = value; }}
В Форме 1:
Form2 F = new Form2();
string t = F.TBtext; //вернет текст поля из формы 2 (в данном случае текст по умолчанию)
F.TBtext = "Test";
F.ShowDialog(); //Покажет форму 2 с текстом "Test"
Форма 2:
Содержит текстовое поле TB
пишем в коде:
public string TBtext
{ get {return TB.Text; }
set {TB.Text = value; }}
В Форме 1:
Form2 F = new Form2();
string t = F.TBtext; //вернет текст поля из формы 2 (в данном случае текст по умолчанию)
F.TBtext = "Test";
F.ShowDialog(); //Покажет форму 2 с текстом "Test"
А в обратную сторону ? В форме два изменить текст и при закрытии вернуть его в форму один ?
Цитата: shadowmaster63
А в обратную сторону ? В форме два изменить текст и при закрытии вернуть его в форму один ?
После закрытия формы
string t = F.TBtext;
вернет то что было в поле на момент закрытия.