Как добавить несколько UserControl в ListBox

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

Модератор: Ramzes

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

Как добавить несколько UserControl в ListBox

Сообщение dmitriy22 » 14.07.2010 (Ср) 14:22

Вообщем сразу код:

Код: Выделить всё
       private void funcAddList(string fileName)
        {
            UserControlFile ctr = new UserControlFile();
            if (listBoxFile.Items.Count > 0)
            {
                listBoxFile.Items.Insert(listBoxFile.Items.Count,ctr);
            }
            else
            {
                listBoxFile.Items.Insert(0,ctr);
            }
            //listBoxFile.Refresh();
            listBoxFile.Controls.Add(ctr);

            ctr.textBoxFileDirName.Text = fileName;
            ctr.textBoxFileNewName.Text = Path.GetFileName(fileName);   

        }


я создал UserControl
и вставляю его в listbox....первый вставляется, затем когда я хочу добавить еще он вставляет пустую строчку, т.е. count растет, но на экране отражается только один UserControl
не пойму в чем проблема ?

Dmitriy2003
Постоялец
Постоялец
 
Сообщения: 690
Зарегистрирован: 27.05.2003 (Вт) 22:47
Откуда: Deutschland

Re: Как добавить несколько UserControl в ListBox

Сообщение Dmitriy2003 » 14.07.2010 (Ср) 15:59

dmitriy22 писал(а):не пойму в чем проблема ?

Здесь все неправильно.
К примеру эти строчки
Код: Выделить всё
listBox1.Items.Insert(listBox1.Items.Count, object);
listBox1.Items.Add(object);   

тоже самое
dmitriy22 писал(а):
Код: Выделить всё

if (listBoxFile.Items.Count > 0)
{
    listBoxFile.Items.Insert(listBoxFile.Items.Count,ctr);
}
else
{
    listBoxFile.Items.Insert(0,ctr);
}

ну и зачем так усложнять ?

dmitriy22 писал(а):я создал UserControl

Покажи код ?
Из за чего надо было создавать UserControl ?

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

Re: Как добавить несколько UserControl в ListBox

Сообщение dmitriy22 » 14.07.2010 (Ср) 16:14

идея такая я хочу обновлять файлы Excel:
я создал кнопочку
Код: Выделить всё
       private void button1_Click(object sender, EventArgs e)
        {
           
            openFileDialog1.Filter = "xls files (*.xls)|*.xls|All files (*.*)|*.*";
            openFileDialog1.FilterIndex = 1;
            openFileDialog1.RestoreDirectory = true;
            if (openFileDialog1.ShowDialog() == DialogResult.OK)
            {
                funcAddList(openFileDialog1.FileName.ToString());
               
            }
            FileLen = 0;
            FileDir = "";
        }


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

ну для этого я создал User Control как формочку на которой есть 2 текстбокса и 1 чекбокс

ну и далее я сделал функцию funcAddList, которую я описал выше, с помощью которой я хочу заполнить listbox и в дальнейшем пробегаться по этому списку и обновлять файлы, какие под старым именем, а какие(где отмечен чекбокс) под новым

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

Dmitriy2003
Постоялец
Постоялец
 
Сообщения: 690
Зарегистрирован: 27.05.2003 (Вт) 22:47
Откуда: Deutschland

Re: Как добавить несколько UserControl в ListBox

Сообщение Dmitriy2003 » 14.07.2010 (Ср) 16:34

dmitriy22 писал(а):ну и далее я сделал функцию funcAddList, которую я описал выше, с помощью которой я хочу заполнить listbox и в дальнейшем пробегаться по этому списку и обновлять файлы, какие под старым именем, а какие(где отмечен чекбокс) под новым

Не представляю себе зачем-это, ну да ладно.
Что побуждает тебя добалять твой
dmitriy22 писал(а):UserControlFile ctr = new UserControlFile();

сначала в коллекцию
dmitriy22 писал(а):listBoxFile.Items.Insert(listBoxFile.Items.Count,ctr);

а потом
dmitriy22 писал(а):listBoxFile.Controls.Add(ctr);

:?:

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

Re: Как добавить несколько UserControl в ListBox

Сообщение dmitriy22 » 14.07.2010 (Ср) 16:38

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

Dmitriy2003
Постоялец
Постоялец
 
Сообщения: 690
Зарегистрирован: 27.05.2003 (Вт) 22:47
Откуда: Deutschland

Re: Как добавить несколько UserControl в ListBox

Сообщение Dmitriy2003 » 14.07.2010 (Ср) 16:47

dmitriy22 писал(а):а как надо ?

Это смотря что тебе нужно.
MSDN писал(а):ListBox.Items - свойство
С помощью этого свойства можно получить ссылку на список элементов, хранящихся в настоящее время в объекте ListBox.С помощью этой ссылки можно добавлять и удалять элементы, а также определять число элементов в коллекции.Дополнительные сведения о задачах, которые могут выполняться с использованием коллекции элементов, см. в разделах справки, посвященных описанию класса ListBox.ObjectCollection.


MSDN писал(а):Control.Controls - свойство
Объект Control может действовать как родительский элемент управления для коллекции элементов управления.Например, при добавлении нескольких элементов управления к объекту Form каждый из элементов управления является элементом объекта Control.ControlCollection, назначенного свойству Controls формы, производной от класса Control.


Источник счастья

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

Re: Как добавить несколько UserControl в ListBox

Сообщение dmitriy22 » 14.07.2010 (Ср) 22:57

не ну понятно, что где-то здесь копать, но у меня получается, что я добавляю user control и он добавляется в listbox, но при следующем добавлении...добавляется пустая строка и т.д....вот это как сделать, лучше примером

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


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

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

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

    TopList