2012-12-28 4 views
0

У меня есть 2 формы 1. form1 и form2 я открыть form2 по нажатию кнопки затем добавить некоторую информациюпередать информацию ранее открытой форме

private void button1_Click(object sender, EventArgs e) 
    { 
     string Name = TxtNewName.Text; 
     string City = TxtNewCity.Text 
    } 

Я открываю форму конструктором

private void openForm2_Click(object sender, EventArgs e) 
    { 
     Form2 newform = new Form2(); 
     newform.Show(); 
    } 

я хотите передать переменные Name и city в ранее открытую форму, когда я закрою это, два значения обновляются в уже открытой форме с одинаковым именем поля в форме1 Пожалуйста, помогите мне ..

+1

Вы работаете на winform? Как вы звоните/открываете форму – V4Vendetta

+0

да я работаю в winform – Milind

+0

@ V4Vendetta см. Обновленный que. – Milind

ответ

2

Определение 2 открытых свойств в вашей второй форме

public string GetName { get {return TxtNewName.Text;} } 
    public string GetCity { get {return TxtNewCity.Text;} } 

После вызова второй формы, вы можете получить доступ к ним

 Form2 form2 = new Form2(); 
    form2.ShowDialog(); 

    string name = form2.GetName; 
    string city = form2.GetCity; 

EDIT: ... и если я хочу прямо установить текстовое свойство текстового поля с именем и городом в форме1 после закрытия формы2

this.Text = form2.GetName; 
this.city = form2.GetCity; 
+0

Будет ли это работать? как он достигнет следующей строки 'this.Text = form2.GetName;', если вы не закроете форму – V4Vendetta

+0

, на самом деле это то, что он попросил: «Я хочу перенести эти переменные имени и города в ранее открытую форму, когда я закрываю это» – VladL

+0

его работы, но я напрямую использую свойство TextBoxname.Text. – Milind

1

вы должны выставить свойства, содержащие значение в form2

public string Name { get { return TxtNewName.Text; } } 
public string City { get { return TxtNewCity.Text; } } 

и

private void openForm2_Click(object sender, EventArgs e) 
{ 
    Form2 newform = new Form2(); 
    newform.ShowDialog(); 
    var city = newform.City; 
    var name = newform.Name; 
} 
0

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

Есть свойства, установленные выше требуется, чтобы поймать значения, нужно перейти на Form1

Form2 newform = new Form2(this); // passing instance of Form1 
newform.Show(); 

Так что теперь у вас есть доступ к Form1 и назначить требуемые значения.

Смежные вопросы