ANTICHAT — форум по информационной безопасности, OSINT и технологиям
ANTICHAT — русскоязычное сообщество по безопасности, OSINT и программированию.
Форум ранее работал на доменах antichat.ru, antichat.com и antichat.club,
и теперь снова доступен на новом адресе —
forum.antichat.xyz.
Форум восстановлен и продолжает развитие: доступны архивные темы, добавляются новые обсуждения и материалы.
⚠️ Старые аккаунты восстановить невозможно — необходимо зарегистрироваться заново.
 |
|
[C#] Обмен данными между формами. |

22.04.2010, 21:28
|
|
студент
Регистрация: 30.07.2007
Сообщений: 800
Провел на форуме: 4275992
Репутация:
1188
|
|
[C#] Обмен данными между формами.
Всем привет.
Шарп изучаю недавно так что выручайте)
Есть ситуация.
В форме 1 посредством разных действий получили информацию, вывели в разные текстбоксы (штук 5, это не особо важно).
Теперь по клику кнопки нужно собрать все данные с текстбоксов, форму 1 спрятать, запустить форму 2, в которой уже есть RichTextBox, в который нужно все данные записать (не по нажатию батона на форм2 а сразу при загрузке формы2).
для примера 2 чистых формы с текстбооксом и батоном.
Код формы1
PHP код:
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
namespace WindowsFormsApplication1
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void button1_Click(object sender, EventArgs e)
{
Form Form1 = new Form1();
Form Form2 = new Form2();
this.Hide();
Form2.Show();
}
}
}
и вторая форма
PHP код:
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
namespace WindowsFormsApplication1
{
public partial class Form2 : Form
{
public Form2()
{
InitializeComponent();
}
private void button1_Click(object sender, EventArgs e)
{
Form Form1 = new Form1();
Form Form2 = new Form2();
Form1.Show();
this.Close();
}
}
}
теперь самое вкусненькое)
так как все таки заставить форму2 при загрузке (самой формы) заполнить ричтекстбокс формы2 тесктом который находится в текстбоксе формы1.
тестовый примитивный пример проекта лежит по ссылке http://dump.ru/file/4539450
Помогите, без Вас никак)
Спасибо.
|
|
|

22.04.2010, 22:16
|
|
Новичок
Регистрация: 28.01.2010
Сообщений: 15
Провел на форуме: 52119
Репутация:
17
|
|
NetSter
Один из вариантов:
Form1:
Код:
public partial class Form1 : Form
{
public Form1()
{
}
private void button1_Click(object sender, EventArgs e)
{
Form2 f2 = new Form2(this);
this.Hide();
f2.Show();
}
public string getString()
{
StringBuilder sb = new StringBuilder();
sb.Append(textBox1.Text);
sb.Append(textBox2.Text);
sb.Append(textBox3.Text);
sb.Append(textBox4.Text);
return sb.ToString();
}
}
Form2:
Код:
public partial class Form2 : Form
{
private Form1 _f1;
public Form2(Form1 f1)
{
_f1 = f1;
}
private void Form2_Load(object sender, EventArgs e)
{
richTextBox1.Text = _f1.getString();
}
private void button1_Click(object sender, EventArgs e)
{
_f1.Show();
this.Close();
}
}
|
|
|

22.04.2010, 22:47
|
|
Новичок
Регистрация: 04.04.2010
Сообщений: 10
Провел на форуме: 64293
Репутация:
0
|
|
Во-первых, надо поставить значения свойства Modifers у ричтекстбокса на public, а дальше уже вот так:
На первой форме в нужном месте пишем:
Код:
frm2 frm = new frm2();
frm.RichTextBox1.Text += textBox1.Text;
frm.RichTExtBox1.TExt += textBox2.Text;
...
frm.RichTextBox1.Text += textBox100.Text;
frm.ShowDialog(this);
frm.Dispose();
Не забываем добавить в проект форму с именем frm2.cs
Последний раз редактировалось vicgerrard; 22.04.2010 в 23:23..
|
|
|

22.04.2010, 22:51
|
|
Новичок
Регистрация: 28.01.2010
Сообщений: 15
Провел на форуме: 52119
Репутация:
17
|
|
Сообщение от vicgerrard
Во-первых, надо поставить значения свойства Modifers у ричтекстбокса на public...
А во-вторых...???
|
|
|

22.04.2010, 22:55
|
|
Новичок
Регистрация: 04.04.2010
Сообщений: 10
Провел на форуме: 64293
Репутация:
0
|
|
Это так принципиально ?
Я ведь написал: "Во-первых .... ну а дальше"
|
|
|

22.04.2010, 23:04
|
|
Новичок
Регистрация: 28.01.2010
Сообщений: 15
Провел на форуме: 52119
Репутация:
17
|
|
Сообщение от vicgerrard
Это так принципиально ?
Да как-то, что ли "не по взрослому" делать public'ом, уж лучше не полениться и геттер сделать, тем более
...
Теперь по клику кнопки нужно собрать все данные с текстбоксов, форму 1 спрятать, запустить форму 2
...
возможно все данные с текстбоксов нужно как-то обработать...
"Пишите код так, как будто сопровождать его будет склонный к насилию психопат, который знает, где вы живете." (С) Стив Макконнелл
Последний раз редактировалось 0kt0ber; 22.04.2010 в 23:07..
|
|
|

22.04.2010, 23:07
|
|
Новичок
Регистрация: 04.04.2010
Сообщений: 10
Провел на форуме: 64293
Репутация:
0
|
|
Сообщение от 0kt0ber
Да как-то, что ли "не по взрослому" делать public'ом, уж лучше не полениться и геттер сделать, тем более
возможно все данные с текстбоксов нужно как-то обработать...
Мне 14 лет, неделю назад только закончил курс с# (на 5. кстати), говорю, как умею )
|
|
|

22.04.2010, 23:30
|
|
Познающий
Регистрация: 16.10.2009
Сообщений: 40
Провел на форуме: 152013
Репутация:
14
|
|
Spy++
Вроде тема по теме ))))
В общем, очень нужна утилита Spy++ у кого есть скиньте пожалуйста
P.S.
Сообщение от NetSter
Передача данных
http://www.microsoft.com/Rus/Msdn/Activ/MSVB/Archive/Mixture/DataTransfer/217a.mspx
Последний раз редактировалось ichechen; 22.04.2010 в 23:37..
|
|
|

23.04.2010, 00:15
|
|
Новичок
Регистрация: 28.01.2010
Сообщений: 15
Провел на форуме: 52119
Репутация:
17
|
|
|
|
|

23.04.2010, 00:41
|
|
Постоянный
Регистрация: 08.04.2007
Сообщений: 853
Провел на форуме: 5812656
Репутация:
1540
|
|
у тебя там должен быть файлик Program.cs, в нём происходит запуск твоей первой формы. Предлагаю в классе первой формы сделать публичный метод(или несколько публичных полей), для передачи данных вверх. В Program.cs ты запустишь первую форму, после чего закроешь, получишь данные и передашь их во вторую форму.
|
|
|
|
 |
|
|
Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
|
|
|
|