Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > .NET Frameworks (точка нет фреймворки) > C# (си шарп)
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 18.07.2011, 14:54   #1
SaNeKBF
Пользователь
 
Аватар для SaNeKBF
 
Регистрация: 17.12.2010
Сообщений: 35
По умолчанию Массивы из одной формы в другую и назад

Через батон открываю форму 2. В которую надо передать массивы Маs01, Mas02, Mas03. Потом по закрытию формы 2 передать другие массивы в форму 1. Подскажите, как правильно реализовать этот процесс
Код:
namespace ДанныеИзОднойФормыВДругую
{
    public partial class Form1 : Form
    {
        public string[] Mas01 = new string[5];
        public string[] Mas02 = new string[5];
        public string[] Mas03 = new string[5];

        public Form1()
        {
            InitializeComponent();
        }

        private void button1_Click(object sender, EventArgs e)
        {
            Form2 frm2 = new Form2();
            frm2.Show();
        }
    }
}
Код:
namespace ДанныеИзОднойФормыВДругую
{
    public partial class Form2 : Form
    {
        public string[] Mas1 = new string[5];
        public string[] Mas2 = new string[5];
        public string[] Mas3 = new string[5];

        public Form2()
        {
            InitializeComponent();
        }

        private void Form2_FormClosing(object sender, FormClosingEventArgs e)
        {
            Mas1 = new string[5] { textBox1.Text, textBox2.Text, textBox3.Text, textBox4.Text, textBox5.Text};
            Mas2 = new string[5] { textBox10.Text, textBox9.Text, textBox8.Text, textBox7.Text, textBox6.Text };
            Mas3 = new string[5] { textBox15.Text, textBox14.Text, textBox13.Text, textBox12.Text, textBox11.Text };
        }
    }
}
Во второй форме создаю и заполняю массив из текстбоксов. А как передать в в форму1 %) без понятия
SaNeKBF вне форума Ответить с цитированием
Старый 18.07.2011, 20:04   #2
Spawn™Production®
Форумчанин
 
Аватар для Spawn™Production®
 
Регистрация: 06.05.2011
Сообщений: 287
По умолчанию

Либо по ссылке, либо через свойства во второй форме.
Spawn™Production® вне форума Ответить с цитированием
Старый 18.07.2011, 22:45   #3
SaNeKBF
Пользователь
 
Аватар для SaNeKBF
 
Регистрация: 17.12.2010
Сообщений: 35
По умолчанию

Спасибо, за внимание. Теоретически я читал, что через ссылку. А вот как это практически реализовать %)
SaNeKBF вне форума Ответить с цитированием
Старый 19.07.2011, 13:28   #4
Hollander
Участник клуба
 
Аватар для Hollander
 
Регистрация: 03.05.2007
Сообщений: 1,189
По умолчанию

У тебя почти все готово, кроме одного нюанса. На 1 форме Form1 сделай переменную frm2, чтобы у тебя был доступ из всего класса.
Код:
 public partial class Form1 : Form
    {
        public string[] Mas01 = new string[5];
        public string[] Mas02 = new string[5];
        public string[] Mas03 = new string[5];
        Form2 frm2;
        public Form1()
        {
            InitializeComponent();
        }

        private void button1_Click(object sender, EventArgs e)
        {
            frm2 = new Form2();
            frm2.Show();
        }
        //т.е. можно обращаться к массивам из любого метода класса
private void MyFunc()
{
frm2.Mas1 = Mas01; // и т.д.
// и наоборот
Mas01 = frm2.Mas1;
}
    }
Hollander вне форума Ответить с цитированием
Старый 23.07.2011, 03:03   #5
SaNeKBF
Пользователь
 
Аватар для SaNeKBF
 
Регистрация: 17.12.2010
Сообщений: 35
По умолчанию

Спасибо, начал разбираться. Возникло пару сложностей.
1. При загрузке экземпляра формы 2 передаю в нее значения. И отображаю лейбой. Дело в том, что данные на форме 2 не отображаются. Но если сделать это через батон на форме 2. То лейба отобразится как надо. То есть, данные передаются но при загрузке не отображаются.
2. Через форму 1 открывается несколько экземпляров формы 2. При закрытии формы 2 надо передать значения в форму один. Как определить какой экземпляр формы закрылся и как с нее получить или передать в форму 1 нужные значения %) Тоесть в форме 1 можно прочитать данные из формы 2, но как сделать так, чтобы форма 2 передавала их в форму 1 без понятия. Ну или передавала сигнал в форму 1, чтобы та прочитала значения из формы 2.
Код:
namespace ИзФормыВФорму
{
    public partial class Form1 : Form
    {
        Form2 frm21;
        Form2 frm22;
        Form2 frm23;
        Form2 frm24;
        Form2 frm25;
        public string str;
        public Form1()
        {
            InitializeComponent();
        }
        private void button1_Click(object sender, EventArgs e)
        {
            frm21 = new Form2();
            frm21.Show();
            frm21.str1 = "Открыли форму 1";

        }
        private void button2_Click(object sender, EventArgs e)
        {
            str = frm22.str1;
            label1.Text = str;
        }
        private void button3_Click(object sender, EventArgs e)
        {
            frm22 = new Form2();
            frm22.Show();
            frm22.str1 = "Теперь открываем форму 2";
        }
    }
}
Код:
namespace ИзФормыВФорму
{
    
    public partial class Form2 : Form
    {
        public string str1;
        public Form2()
        {
            InitializeComponent();
        }

        private void button1_Click(object sender, EventArgs e)
        {
            label1.Text = str1;
        }

        private void Form2_Load(object sender, EventArgs e)
        {
            label2.Text = "222";
            label1.Text = str1;
        }

    }
}

Последний раз редактировалось SaNeKBF; 23.07.2011 в 03:05.
SaNeKBF вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Управление элементами одной формы через другую ---FISHER--- C# (си шарп) 2 11.04.2011 11:47
Копировать и вставить из одной формы в другую scarp55 Microsoft Office Access 5 06.04.2011 16:03
Копировать и вставить из одной формы в другую scarp55 Microsoft Office Excel 0 29.03.2011 20:45
Переход из одной формы в другую Axlen Microsoft Office Access 2 22.04.2010 07:40
как перейти из одной формы в другую lusek Общие вопросы Delphi 7 01.02.2009 14:16