none
Какие способы передачи переменных между формами? RRS feed

  • Общие обсуждения

  • Какие способы передачи переменных между формами в приложениях Windows Form на языке Visual C#?
    • Изменен тип I.Vorontsov 22 марта 2010 г. 11:23
    • Перемещено Tagore Bandlamudi 2 октября 2010 г. 21:58 MSDN Forums consolidation (От:Разработка Windows-приложений)
    21 марта 2010 г. 7:53

Все ответы

  • Я обычно делаю свойство или публичный член класса формы. Но тогда надо передавать сам объект формы. Можно сделать сторонний Static Class для обмена данными.

    Это корректно или обычно делают как-то иначе?

    21 марта 2010 г. 23:33
  • Один из способов передачи параметров между формами:

     

    - в первой форме (Form1) объявить public переменную с модификатором static, например:

     

    static public int i;

     

    - задать значение ей, например при загрузке формы:

    i = 5;

     

    - во второй форме можно обратиться к переменной, например вывести значение переменной в заголовок формы:

     

    this.Text = Form1.i.ToString();

     

    23 марта 2010 г. 7:44
  • На мой взгляд использовать сторонний Static Class целесообразно для "долгого" хранения переменных...

    Если необходимо единовременно передать данные между формами, то делаю следующее:

    1.В форму куда необходимо передать данные (ФормаКуда) в коде пишем:

    public partial class ФормаКуда: Form
        {
            ФормаОтКуда mainForm = null;
            public Otsrochka(ФормаОтКуда main)
          
            {
              InitializeComponent();
              mainForm = main;
            }

    2. Вызываем ФормаКуда из  ФормаОтКуда:

     ФормаКуда FormNew = new ФормаКуда (this);
     FormNew .ShowDialog();
    3.  Манипулируем данными в ФормаКуда через mainForm. При этом необходимо чтобы переменные в ФормаОтКуда были Public

    23 марта 2010 г. 7:53