Глобальная переменная в winforms

Язык C#: программирование на C#, портирование кода C# на VB и VB на C#.

Модератор: Ramzes

dmitriy22
Продвинутый пользователь
Продвинутый пользователь
Аватара пользователя
 
Сообщения: 121
Зарегистрирован: 27.04.2006 (Чт) 12:04
Откуда: Москва

Глобальная переменная в winforms

Сообщение dmitriy22 » 28.04.2009 (Вт) 17:36

Доброе время суток !
Вопрос кншна простой, и имеет массу решений, но мне в голову токо теория приходит на практике не получается.
Я создал форму и на ней использую checkListBox и все отмеченные галочкой значения я передаю в матрицу, после нажатия кнопки
Код: Выделить всё
            CheckedListBox.CheckedItemCollection ch_list = checkListBox_load.CheckedItems;
            ArrayList arr = new ArrayList(ch_list.Count);         
            int i_all = checkListBox_load.Items.Count;
            int i_ch = checkListBox_load.CheckedItems.Count;
            string i_sel = checkListBox_load.CheckedItems.ToString();
            CheckState ch;
            for (int i = 0; i < i_all; i++)
            {             
                ch = checkListBox_load.GetItemCheckState(i);             
                if (ch.ToString() == "Checked")
                {
                    string ch_i = checkListBox_load.Items[i].ToString();
                    arr.Add(ch_i);
                    MessageBox.Show(ch_i);
                }
               
            }


и я передаю значения, но потом допустим я хочу использовать эти значения в матрице где-нибудь в другом месте, вне кнопки. Матрицу понятно, что можно в начале сделать public, хотя тоже вопрос в каком месте лучше. Но вопрос как сделать, чтобы и значения возвращались и были доступны на протяжении всего кода, пока я не захочу обнулить ее. Я вот думаю про return, но никогда этим не пользовался или подскажите более лучший метод.
Спасибо
Я не волшебник, я просто учусь.

ANDLL
Великий гастроном
Великий гастроном
Аватара пользователя
 
Сообщения: 3450
Зарегистрирован: 29.06.2003 (Вс) 18:55

Re: Глобальная переменная в winforms

Сообщение ANDLL » 28.04.2009 (Вт) 19:53

public static
Гастрономия - наука о пище, о ее приготовлении, употреблении, переварении и испражнении.
Блог

dmitriy22
Продвинутый пользователь
Продвинутый пользователь
Аватара пользователя
 
Сообщения: 121
Зарегистрирован: 27.04.2006 (Чт) 12:04
Откуда: Москва

Re: Глобальная переменная в winforms

Сообщение dmitriy22 » 28.04.2009 (Вт) 23:49

ANDLL писал(а):public static


а по-подробнее ?
Я не волшебник, я просто учусь.

Ramzes
Скромный человек
Скромный человек
Аватара пользователя
 
Сообщения: 5004
Зарегистрирован: 12.04.2003 (Сб) 11:59
Откуда: Из гробницы :)

Re: Глобальная переменная в winforms

Сообщение Ramzes » 29.04.2009 (Ср) 8:36


dmitriy22
Продвинутый пользователь
Продвинутый пользователь
Аватара пользователя
 
Сообщения: 121
Зарегистрирован: 27.04.2006 (Чт) 12:04
Откуда: Москва

Re: Глобальная переменная в winforms

Сообщение dmitriy22 » 29.04.2009 (Ср) 15:10

да это я почитал, с обычными переменными понятно, а с массивом
как я понял я создал класс
Код: Выделить всё
       static class MyArray
        {
           
            public static ArrayList arr = new ArrayList();
        }


а затем в кнопке, я же передаю

Код: Выделить всё
  public void buttonLoad_Click(object sender, EventArgs e)
        {
CheckedListBox.CheckedItemCollection ch_list = checkListBox_load.CheckedItems;
MyArray.arr(ch_list);
}

но у меня же не получается передать параметр
ругается

Код: Выделить всё
Error   2   'Control_Data.LoadDataTempl.MyArray.arr' is a 'field' but is used like a 'method'   

вот как я делал без класса

Код: Выделить всё
CheckedListBox.CheckedItemCollection ch_list = checkListBox_load.CheckedItems;
ArrayList arr = new ArrayList(ch_list.Count);


можете показать на примере массива
Я не волшебник, я просто учусь.

Ramzes
Скромный человек
Скромный человек
Аватара пользователя
 
Сообщения: 5004
Зарегистрирован: 12.04.2003 (Сб) 11:59
Откуда: Из гробницы :)

Re: Глобальная переменная в winforms

Сообщение Ramzes » 29.04.2009 (Ср) 15:59

а что ты пытаешься сделать это строкой?
Код: Выделить всё
MyArray.arr(ch_list);

dmitriy22
Продвинутый пользователь
Продвинутый пользователь
Аватара пользователя
 
Сообщения: 121
Зарегистрирован: 27.04.2006 (Чт) 12:04
Откуда: Москва

Re: Глобальная переменная в winforms

Сообщение dmitriy22 » 29.04.2009 (Ср) 17:16

Ramzes писал(а):а что ты пытаешься сделать это строкой?
Код: Выделить всё
MyArray.arr(ch_list);


да согласен это не нужно, т.к. я уже определил объект, хотя
вот я же делал
Код: Выделить всё
CheckedListBox.CheckedItemCollection ch_list = checkListBox_load.CheckedItems;
ArrayList arr = new ArrayList(ch_list.Count);


и вот так я хотел передать параметр, если эту строку не использовать, то я благополучно добавляю значения в массив и потом вытаскиваю значения...в этом все OK, все таки хотелось уточнить, почему та строка не правильна ?
Я не волшебник, я просто учусь.


Вернуться в C#

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 1

    TopList