Модераторы: Partizan, gambit
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Сохранение переменной массива!!!!!!!!??????? 
:(
    Опции темы
arkonst
Дата 11.4.2008, 15:03 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 54
Регистрация: 31.10.2007

Репутация: нет
Всего: 1



Каким образом можно сохранить переменную массива,да и без разницы массив или нет....любую переменную.....которая была создана в одной форме и затем использовать ее в другой форме уже после закрытия создавшей эту переменную форму......
Я это реализовывал путем доступа к переменной таким образом писал в главной форме такую строку

 Form11 frm11 = new Form11();

после этого эта переменная становиться видна в главной форме.....Но при запуске debug почему-то происходит обнуление этой переменной....Каким образом сохранить эту переменную так что-бы она не обнулялась????
PM MAIL   Вверх
Wizard_Memfis
Дата 11.4.2008, 15:23 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 193
Регистрация: 12.2.2007
Где: г. Донецк, Украин а

Репутация: 2
Всего: 4



Эх.....................который уже раз!!!
Вроде 3 за эту неделю только!!!
Вот это специально создавали!!!
http://forum.vingrad.ru/forum/topic-52713.html
http://forum.vingrad.ru/forum/topic-205061.html
--------------------
www.binary-studio.com
PM MAIL WWW ICQ Skype   Вверх
mr.DUDA
Дата 11.4.2008, 15:24 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


3D-маньяк
****


Профиль
Группа: Экс. модератор
Сообщений: 8244
Регистрация: 27.7.2003
Где: город-герой Минск

Репутация: 8
Всего: 232



Пример: есть форма Form1 (главная форма приложения), и есть форма Form2 (открывается по щелчку кнопки на форме Form1).

Допустим, у Form2 есть поле-массив TheArray. Его значение нужно получить в Form1 после закрытия Form2.

Пишем код в Form1:
Код
using System;
using System.Windows.Forms;

namespace WindowsFormsApplication1
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }

        Form2 _form2;

        private void button1_Click(object sender, EventArgs e)
        {
            _form2 = new Form2();
            _form2.FormClosed += form2_FormClosed;
            _form2.Show();
        }

        void form2_FormClosed(object sender, FormClosedEventArgs e)
        {
            MessageBox.Show("Ура, форма 2 закрылась. Вот первый элемент массива: " + _form2.TheArray[0].ToString());
        }
    }
}


Код в Form2:
Код
using System;
using System.Windows.Forms;

namespace WindowsFormsApplication1
{
    public partial class Form2 : Form
    {
        public Form2()
        {
            InitializeComponent();
        }

        public int[] TheArray;

        protected override void OnLoad(EventArgs e)
        {
            base.OnLoad(e);

            TheArray = new int[]
            {
                3, 4, 5
            };
        }
    }
}


Идея ясна? Можно также обойтись без _form2, если показывать форму 2 в модальном режиме:
Код
using System;
using System.Windows.Forms;

namespace WindowsFormsApplication1
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }

        private void button1_Click(object sender, EventArgs e)
        {
            Form2 form2 = new Form2();
            form2.ShowDialog();
            MessageBox.Show("Ура, форма 2 закрылась. Вот первый элемент массива: " + form2.TheArray[0].ToString());
        }
    }
}



--------------------
user posted image
PM MAIL WWW   Вверх
arkonst
Дата 11.4.2008, 16:48 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 54
Регистрация: 31.10.2007

Репутация: нет
Всего: 1



ВСЕМ БОЛЬШОЕ СПАСИБО...ВСЕ ПОЛУЧИЛОСЬ!.....Тупо передал параметром элемент массива в функцию....Правда так и не понял как обойтись без Form11 frm11 = new Form();   А то на форуме говорят что так не правильно делать???? Но иначе к объектам той формы я не мог обратиться.....
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Прежде чем создать тему, посмотрите сюда:
Partizan
PashaPash

Используйте теги [code=csharp][/code] для подсветки кода. Используйтe чекбокс "транслит" если у Вас нет русских шрифтов.
Что делать если Вам помогли, но отблагодарить помощника плюсом в репутацию Вы не можете(не хватает сообщений)? Пишите сюда, или отправляйте репорт. Поставим :)
Так же не забывайте отмечать свой вопрос решенным, если он таковым является :)


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, mr.DUDA, Partizan, PashaPash.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | .NET для новичков | Следующая тема »


 




[ Время генерации скрипта: 0.0645 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.