Форум программистов, компьютерный форум, киберфорум
C# Windows Forms
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.63/8: Рейтинг темы: голосов - 8, средняя оценка - 4.63
22 / 20 / 5
Регистрация: 29.02.2016
Сообщений: 590
1

Обмен данными между формами

13.11.2016, 08:42. Показов 1645. Ответов 1
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
форма родитель имеет кнопку, при нажатии на которую создаётся ребёнок. у ребёнка есть picturebox и textbox. родитель передаёт ссылку на картинку в ребёнка, а от ребёнка получает значение textbox, когда на ребёнке нажали кнопку. как это реализовать?
не получается именно обмениваться данными
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
13.11.2016, 08:42
Ответы с готовыми решениями:

Обмен данными между формами
Есть две формы , допустим Form1 и Form2. В Form1 есть класс MyClass1, объект которого создается там...

Обмен данными между формами
Работаю в Visual Studio 2008, приложение Windows Forms. Есть две формы (Form1 и Form2). На Form2...

Обмен данными между формами
Здравствуйте! Пишу в VS 2012. Есть две формы, по выборе чекбокса открывается вторая форма. Во...

Обмен данными между формами
Всем привет Имеется 2 открытые формы, необходимо при клике передать данный с 2 формы на 1, без...

1
Эксперт .NET
5871 / 4748 / 2940
Регистрация: 20.04.2015
Сообщений: 8,361
13.11.2016, 10:15 2
Лучший ответ Сообщение было отмечено D7ILeucoH как решение

Решение

D7ILeucoH,
Один из вариантов.
1) Описываем класс:
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
public class PicNText
{
    public delegate void TextChanger(string text); //делегат
    public event TextChanger onTextChanged; //событие изменения текста
    public string PicturePath { set; get; } //путь к картинке
    private string tbText; //текст
    public string TBText 
    {
        set
        {
            tbText = value;
            if (onTextChanged != null) //если к событию подписались
                onTextChanged(tbText); //запускаем подписанный обработчик
        }
        get
        {
            return tbText;
        }
    }
    public PicNText(string path, string text)
    {
        PicturePath = path;
        tbText = text;
    }
}
2) В классе первой формы:
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
//textBox1 - поле со ссылкой на картинку
//в textBox2 будет выводиться текст, переданный из 2-й формы
private void button1_Click(object sender, EventArgs e)
{
    PicNText pnt = new PicNText(textBox1.Text, string.Empty); //создаем объект описанного выше класса
    pnt.onTextChanged += SetText; //подписываем метод SetText на событие изменения текста
    Form2 f2 = new Form2(pnt); //создаем объект класса 2-й формы и передаем в него pnt 
    f2.ShowDialog(); //открываем объект класса 2-й формы
}
 
private void SetText(string text)
{
    textBox2.Text = text; //текст, переданный в метод, выводим в textBox2
}
3) В классе 2-й формы:
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
PicNText pt;
public Form2(PicNText pt)
{
    InitializeComponent();
    this.pt = pt;
}
 
private void Form2_Load(object sender, EventArgs e)
{
    pictureBox1.Image = new Bitmap(pt.PicturePath); //загружаем картинку в pictureBox1
}
 
private void button1_Click(object sender, EventArgs e)
{
    pt.TBText = textBox1.Text; //меняем текст в объекте pt, тем самым запуская событие
    this.Close(); //закрываем форму
}
1
13.11.2016, 10:15
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
13.11.2016, 10:15
Помогаю со студенческими работами здесь

Обмен данными между формами
Задача следующая. Нужно чтобы в форме Form2 был доступ к данным, созданным в классе stroka из формы...

Обмен данными между двумя формами
У меня есть две формы и нужно передать данные от одной формы к другой. Вот код: /* Форма 1 */...

Обмен данными между формами в MDI
есть форма перент - Form1 она создала 2 формы child: Form2, Form3. соответственно в Form1 они...

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


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru