Эта статья является зеркальной статьёй машинного перевода, пожалуйста, нажмите здесь, чтобы перейти к оригиналу.

Вид: 17570|Ответ: 1

[WinForm] Значения делегатов между формами Winform

[Скопировать ссылку]
Опубликовано 28.12.2015 12:27:20 | | | |
Первая форма (которая является основной):

  1. using System;
  2. using System.Collections.Generic;
  3. using System.ComponentModel;
  4. using System.Data;
  5. using System.Drawing;
  6. using System.Linq;
  7. using System.Text;
  8. using System.Windows.Forms;

  9. namespace winformDelegate
  10. {
  11.     public partial class Form1 : Form
  12.     {
  13.         public Form1()
  14.         {
  15.             InitializeComponent();
  16.         }

  17.         private void button1_Click(object sender, EventArgs e)
  18.         {
  19.            Form2 frm=new Form2();
  20.            frm.Myevent += GetValue;
  21.             frm.Show();
  22.         }

  23.         public void GetValue(string text)
  24.         {
  25.             textBox1.Text = text;
  26.         }
  27.     }
  28. }
Копирование кода


Вторая форма:
  1. using System;
  2. using System.Collections.Generic;
  3. using System.ComponentModel;
  4. using System.Data;
  5. using System.Drawing;
  6. using System.Linq;
  7. using System.Text;
  8. using System.Windows.Forms;

  9. namespace winformDelegate
  10. {
  11.     public partial class Form2 : Form
  12.     {
  13.         public delegate void DelegaeValue
  14.             (string text);

  15.         public event DelegaeValue Myevent;

  16.         protected virtual void ValueInformation(string text)
  17.         {
  18.             DelegaeValue handler = Myevent;
  19.             if (handler != null)
  20.                 handler(text);
  21.         }

  22.         public Form2()
  23.         {
  24.             InitializeComponent();
  25.         }

  26.         private void button1_Click(object sender, EventArgs e)
  27.         {
  28.             if (Myevent != null)
  29.             {
  30.             }
  31.             ValueInformation(textBox1.Text);
  32.         }


  33.     }
  34. }
Копирование кода






Предыдущий:Мероприятие по подаче формы — лучший способ реализовать валидацию перед подачей формы
Следующий:JSONP — Решение проблемы междоменного доступа в Ajax
 Хозяин| Опубликовано 17.08.2017 11:28:12 |


Вы можете передавать значение без делегирования

Код Формы 1:



Код Формы 2:



Отказ:
Всё программное обеспечение, программные материалы или статьи, публикуемые Code Farmer Network, предназначены исключительно для учебных и исследовательских целей; Вышеуказанный контент не должен использоваться в коммерческих или незаконных целях, иначе пользователи несут все последствия. Информация на этом сайте взята из Интернета, и споры по авторским правам не имеют отношения к этому сайту. Вы должны полностью удалить вышеуказанный контент с компьютера в течение 24 часов после загрузки. Если вам нравится программа, пожалуйста, поддержите подлинное программное обеспечение, купите регистрацию и получите лучшие подлинные услуги. Если есть нарушение, пожалуйста, свяжитесь с нами по электронной почте.

Mail To:help@itsvse.com