Здравствуй ХэшКод, скажите у меня есть
Form1
Form2
На Form1 есть richTextBox1, и на Form2 есть richTextBox1, так вот хотелось бы сделать чтобы при нажатии на кнопку всё что есть в richTextBox1 на Form2 данные передавались в richTextBox1 на Form1... я попробовал изменить поле Modifer на Public, b таким кодом переместить данные
private void btnAdd_Click(object sender, EventArgs e)
{
Form1 frm = new Form1();
frm.richTextBox1.Text = this.richTextBox1.Text;
}
Но он почему-то не работает( Подскажите как передать данные между формами?
Всю необходимую форме (или любому объекту) информацию следует передавать в конструкторе:
public partial class Form1
{
public Form1(string text)
{
InitializeComponents();
richTextBox1.Text = text;
}
}
//-------------------------------
...
var form = Form1("some message");
UPD
Также в классе Form
есть свойсвто Owner
, которому можно присвоить форму-владельца. В итоге дочерняя форма будет иметь доступ к родительской через это свойство.
Как вариант, можно использовать делегаты, и передавать данные через них.
public partial class Form1
{
public Form1()
{
InitializeComponents();
sec = new Form2();
sec.Show();
sec.MyDelegateEvent += sewsecondWindow.MyDelegate(sec_MyDelegateEvent);
}
void sec_MyDelegateEvent(string s)
{
richTextBox1.Text = s;
}
}
public partial class Form2
{
public Form2()
{
InitializeComponents();
}
public event MyDelegate MyDelegateEvent;
public delegate void MyDelegate(string s);
private void button1_Click(object sender, RoutedEventArgs e)
{
MyDelegateEvent(richTextBox2.Text);
}
}
Мой вариант:
В Form1 делаем richTextBox1 public. В ней же создаем экземпляр класса Form2
public Form2 form;
Далее, описываем метод:
private void buttonOpenForm2_Click(object sender, EventArgs e)
{
form = new Form2();
form.Tag = this;
form.Show();
}
Ну и собственно в Form2:
public partial class Form2 : Form
{
Form1 form;
public Form2()
{
InitializeComponent();
}
private void richTextBox1_TextChanged(object sender, EventArgs e)
{
((Form1)this.Tag).richTextBox1.Text = richTextBox1.Text;
}
}
P.S. Этот вариант будет сразу же передавать весь текст в Form1, с кнопкой я думаю вы тоже разберетесь.
Айфон мало держит заряд, разбираемся с проблемой вместе с AppLab
У меня есть проект dll (dllMy) котрая использует ряд других сторонних dll(dllDep) которые я включаю к Reference в проектМне необходимо в номо проекте обращатся...
Путем парсинга считываю данные из таблицы excel в datatable, затем уже выставляю в DataGridView, есть ячейки в которых две-три строки, необходимо вытащить...
Всем привет! Есть такой вот JSON -
Пишу приложение на WPF, которое взаимодействует с БД MySQLВнутри TabItem есть DataGrid, который выводит данные из БД: