Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Общие вопросы по .NET и C# > ListBox в несколько столбцов and Ссылка на объект


Автор: 1Age 12.4.2015, 17:32
Приветсвую участников форума. 
Вообщем надо сделать сохранение итемов(файлов) добавляемых в ListView. Для последующей загрузки при открытии приложения.
Кнопка добавления файла(ов) в ListView
Код

private void button7_Click(object sender, EventArgs e)
        {
            ListViewItem lvi;
            ListViewItem.ListViewSubItem lvsi;
            OpenFileDialog OPF = new OpenFileDialog();
            OPF.Multiselect = true;
            if (OPF.ShowDialog() == DialogResult.OK)
            {
                foreach (string file in OPF.SafeFileNames)
                {
                    lvi = new ListViewItem();
                    lvsi = new ListViewItem.ListViewSubItem();
                    lvi.Text = file;
                    lvsi.Text = "1\0";
                    lvi.SubItems.Add(lvsi);
                    listView1.Items.Add(lvi);
                    string WayFile = OPF.FileName;
                    string ExpFile = Path.GetExtension(WayFile);
                    //MessageBox.Show(WayFile +"\n"+ ExpFile);

                }
            }
        }

В ListView добавляется только 2 параметра , это file и 1\0 , остальные 2 стринговых переменный для последующий действий в программе . Вывод их не обязателен.
Думаю сделать что то типо обработчика , что бы заносил данные в ini file Примерно так.
Код

[File0]
FileName = D:\test.txt
SafeFileNames = test.txt
ExpFile = .txt
Status = 0

Примерно я представил как это сделать при условии если будет добавляться только 1 файл, но вот с мультизагрузкой даже не представляю как это обрабатывать.
Но! Подумав , мне кажется это какой то сложный способ.
Еще был один из вариантов , это на 4 файла разбить и столбиком записывать , но это походу вообще полная бредятина хД.
Опытные программисты , поделитесь каким нибудь хорошим способом)) Через реестр делать не хочу.

Автор: infarch 13.4.2015, 14:22
Цитата(1Age @  12.4.2015,  17:32 Найти цитируемый пост)
1. Выдает ошибку при удаление Item'a в ListBox. 


Хендлер срабатывает после удаления выделенного элемента, при этом SelectedItem не определен, ибо был удален. Проверяйте на нулл.


Цитата(1Age @  12.4.2015,  17:32 Найти цитируемый пост)
2. Как добавить в ListBox( почитал и понял что для этого используется LIstView) несколько столбцов?


Вот хороший пример: https://msdn.microsoft.com/ru-ru/library/system.windows.forms.listview%28v=vs.110%29.aspx

Не стесняйтесь пользоваться документацией )

ps: не стоит в одном топике задавать два несвязанных вопроса, все путается.

Автор: 1Age 13.4.2015, 21:36
Цитата(infarch @ 13.4.2015,  14:22)
Цитата(1Age @  12.4.2015,  17:32 Найти цитируемый пост)
1. Выдает ошибку при удаление Item'a в ListBox. 


Хендлер срабатывает после удаления выделенного элемента, при этом SelectedItem не определен, ибо был удален. Проверяйте на нулл.


Цитата(1Age @  12.4.2015,  17:32 Найти цитируемый пост)
2. Как добавить в ListBox( почитал и понял что для этого используется LIstView) несколько столбцов?


Вот хороший пример: https://msdn.microsoft.com/ru-ru/library/system.windows.forms.listview%28v=vs.110%29.aspx

Не стесняйтесь пользоваться документацией )

ps: не стоит в одном топике задавать два несвязанных вопроса, все путается.

C ListView разобрался уже , легко там ) Извиняюсь что сразу не отписал тут.

Код

И такой вопросик немного не по теме.
Если говорить о безопасности программы , а именно , о декомпиляции и тому подобному. С# как к этому вообще более менее устойчив? Если там применять какие либо крипторы.
Я бы сразу перешел на visual C++ , но вот слишком для меня тяжко с памятью работать.  

Автор: 1Age 13.4.2015, 22:53
Отредактировал 1ый пост в теме.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)