Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Разработка Windows Forms > CheckedListBox


Автор: toisser 28.7.2007, 13:28
залила в чеклистбокс список объектов.

а если например меня обратно интересует текст какого-то итема.

то есть нечто вроде этого

string temp = checkedlistbox.items[i].?

Автор: mihryak 28.7.2007, 14:55
Код

string temp = checkedlistbox.items[i].ToString();

CheckedListBox, ComboBox, ListBox и подобные контролы позволяют добавлять в коллекцию объектов произвольные типы, при этом для отображения они используют метод экземпляров этив типов ToString().
Этим можно успешно пользоваться. В своём классе переопределить (override) метод ToString(), чтобы он выдавал тектовое представление конкретного экземпляра.
Что-то вроде
Код

        public class MyClass
        {
            private string representation;
            private int content;

            public MyClass(int content, string representation)
            {
                this.representation = representation;
                this.content = content;
            }

            public int Content
            {
                get { return content; }
            }

            public override string ToString()
            {
                return representation;
            }
        }

Код

            checkedListBox.Items.Clear();
            checkedListBox.Items.Add(new MyClass(4, "four"));

            MessageBox.Show(((MyClass)checkedListBox.Items[0]).Content.ToString());

Автор: Naum 30.7.2007, 12:41
Цитата(mihryak @  28.7.2007,  15:55 Найти цитируемый пост)
MessageBox.Show(((MyClass)checkedListBox.Items[0]).Content.ToString());

Отобразится "4". Почему .Content.ToString()-то???
Имхо, ты хотел написать
Код

            MessageBox.Show(((MyClass)checkedListBox.Items[0]).ToString());

?

Автор: mihryak 30.7.2007, 14:26
именно 4 smile
Representation (то, как показывается содержимое) - "four", оно отображается в CheckedListBox, а Content (то, что и есть содержимое) - целое значение "4".

Автор: Naum 30.7.2007, 17:16
mihryak, сорри. Неправильно понял сначала. 

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