получение текста выделенных элементов в CheckedListBox
От: se-ga Украина  
Дата: 02.07.05 13:18
Оценка:
MSDN предлагает такой пример:
http://samples.gotdotnet.com/quickstart/util/srcview.aspx?path=/quickstart/winforms/Samples/ControlReference/CheckedListBoxCtl/CheckedListBoxCtl.src&file=CS\CheckedListBoxCtl.cs&font=3

у меня не работает такая строка:
item = (string) checkedListBox1.Items[k];

компилируется, но во время выполнения пишет
Specified cast is not valid.

обошёл строкой:
item = checkedListBox1.Items[k].ToString();







05.07.05 18:15: Перенесено модератором из '.NET' — AndrewVK
по настоящему начинаешь ценить basic только изучая с++ (международная мудрость)
Re: получение текста выделенных элементов в CheckedListBox
От: Александр.Сергеевич Россия  
Дата: 02.07.05 13:28
Оценка:
Здравствуйте, se-ga, Вы писали:

SG>MSDN предлагает такой пример:

SG>http://samples.gotdotnet.com/quickstart/util/srcview.aspx?path=/quickstart/winforms/Samples/ControlReference/CheckedListBoxCtl/CheckedListBoxCtl.src&file=CS\CheckedListBoxCtl.cs&font=3

SG>у меня не работает такая строка:

SG>item = (string) checkedListBox1.Items[k];

SG>компилируется, но во время выполнения пишет

SG>Specified cast is not valid.

SG>обошёл строкой:

SG>item = checkedListBox1.Items[k].ToString();
Дык эта... А у тебя эти элементы какого типа? System.String ?
<<Winamp играет: Аквариум — Сергей Ильич>>
Re[2]: получение текста выделенных элементов в CheckedListBo
От: se-ga Украина  
Дата: 02.07.05 14:10
Оценка:
Здравствуйте, Александр.Сергеевич, Вы писали:


АС>Дык эта... А у тебя эти элементы какого типа? System.String ?


Я второй день в C# Вот такие у меня элементы:

FileInfo[] fi = di.GetFiles();
checkedListBox1.Items.AddRange(fi);
по настоящему начинаешь ценить basic только изучая с++ (международная мудрость)
Re[3]: получение текста выделенных элементов в CheckedListBo
От: Аноним  
Дата: 02.07.05 14:18
Оценка:
Здравствуйте, se-ga, Вы писали:

SG>Здравствуйте, Александр.Сергеевич, Вы писали:



АС>>Дык эта... А у тебя эти элементы какого типа? System.String ?


SG>Я второй день в C# Вот такие у меня элементы:


SG>FileInfo[] fi = di.GetFiles();

SG>checkedListBox1.Items.AddRange(fi);

Не удивительно. В примере тип хранимых объектов — string, а у тебя FileInfo. Поэтому надо и приводить к этому типу

item = ((FileInfo)checkedListBox1.Items[k]).что_то_типа_name;
Re[4]: получение текста выделенных элементов в CheckedListBo
От: Александр.Сергеевич Россия  
Дата: 02.07.05 14:49
Оценка:
Здравствуйте, <Аноним>, Вы писали:

А>Здравствуйте, se-ga, Вы писали:


SG>>Здравствуйте, Александр.Сергеевич, Вы писали:



АС>>>Дык эта... А у тебя эти элементы какого типа? System.String ?


SG>>Я второй день в C# Вот такие у меня элементы:


SG>>FileInfo[] fi = di.GetFiles();

SG>>checkedListBox1.Items.AddRange(fi);

А>Не удивительно. В примере тип хранимых объектов — string, а у тебя FileInfo. Поэтому надо и приводить к этому типу

А>

А>item = ((FileInfo)checkedListBox1.Items[k]).что_то_типа_name;

А>


а поскольку человеку нада текст получить, человек правильно сделал: ToString().
Дык вот, не делай пока формочки раз второй день в шарпе, разберись с общими прнципами, понимаю хочется сразу и много
<<Winamp играет: Аквариум — Радамаэрл>>
Re[4]: получение текста выделенных элементов в CheckedListBo
От: se-ga Украина  
Дата: 02.07.05 20:00
Оценка:
АС>>>Дык эта... А у тебя эти элементы какого типа? System.String ?

SG>>Я второй день в C# Вот такие у меня элементы:


SG>>FileInfo[] fi = di.GetFiles();

SG>>checkedListBox1.Items.AddRange(fi);

А>Не удивительно. В примере тип хранимых объектов — string, а у тебя FileInfo. Поэтому надо и приводить к этому типу

А>

А>item = ((FileInfo)checkedListBox1.Items[k]).что_то_типа_name;

А>



1. что в данном случае значит
что_то_типа_name;
?
2. мне нужно было получить текст из строки СheckedListBox. То есть это должен быть string. А так как ты пишешь, получается, что мы что-то пытаемся преобразовать в тип FileInfo.
3. думаю, что в MSDN правильней было бы написать .ToString() вместо (string), так как эта функция универсальней.

переубедите
по настоящему начинаешь ценить basic только изучая с++ (международная мудрость)
Re[5]: получение текста выделенных элементов в CheckedListBo
От: se-ga Украина  
Дата: 02.07.05 20:02
Оценка:
Здравствуйте, Александр.Сергеевич, Вы писали:

АС>Здравствуйте, <Аноним>, Вы писали:


А>>Здравствуйте, se-ga, Вы писали:


SG>>>Здравствуйте, Александр.Сергеевич, Вы писали:



АС>>>>Дык эта... А у тебя эти элементы какого типа? System.String ?


SG>>>Я второй день в C# Вот такие у меня элементы:


SG>>>FileInfo[] fi = di.GetFiles();

SG>>>checkedListBox1.Items.AddRange(fi);

А>>Не удивительно. В примере тип хранимых объектов — string, а у тебя FileInfo. Поэтому надо и приводить к этому типу

А>>

А>>item = ((FileInfo)checkedListBox1.Items[k]).что_то_типа_name;

А>>


АС>а поскольку человеку нада текст получить, человек правильно сделал: ToString().

АС>Дык вот, не делай пока формочки раз второй день в шарпе, разберись с общими прнципами, понимаю хочется сразу и много

опс.. не заметил. написал тоже самое на бейсике
по настоящему начинаешь ценить basic только изучая с++ (международная мудрость)
Re[5]: получение текста выделенных элементов в CheckedListBo
От: se-ga Украина  
Дата: 02.07.05 20:08
Оценка:
Здравствуйте, Александр.Сергеевич, Вы писали:

АС>Дык вот, не делай пока формочки раз второй день в шарпе, разберись с общими прнципами, понимаю хочется сразу и много



я уже месяц (!!!) изучаю vc++ (mfc), просто попробовал сделать тоже самое на c#. теперь не хочу обратно...
по настоящему начинаешь ценить basic только изучая с++ (международная мудрость)
Re[5]: получение текста выделенных элементов в CheckedListBo
От: Аноним  
Дата: 03.07.05 14:50
Оценка:
Здравствуйте, Александр.Сергеевич, Вы писали:

АС>Здравствуйте, <Аноним>, Вы писали:


А>>Здравствуйте, se-ga, Вы писали:


SG>>>Здравствуйте, Александр.Сергеевич, Вы писали:



АС>>>>Дык эта... А у тебя эти элементы какого типа? System.String ?


SG>>>Я второй день в C# Вот такие у меня элементы:


SG>>>FileInfo[] fi = di.GetFiles();

SG>>>checkedListBox1.Items.AddRange(fi);

А>>Не удивительно. В примере тип хранимых объектов — string, а у тебя FileInfo. Поэтому надо и приводить к этому типу

А>>

А>>item = ((FileInfo)checkedListBox1.Items[k]).что_то_типа_name;

А>>


АС>а поскольку человеку нада текст получить, человек правильно сделал: ToString().

АС>Дык вот, не делай пока формочки раз второй день в шарпе, разберись с общими прнципами, понимаю хочется сразу и много

Не факт. Может человеку надо конкретное свойтсво а не ToString(). Например у ислючений ToString выдает все включая траиисровку стека и вложенные исключения, а message лишь сообщение о причине ошибки. Если же он будет хранить свои объекты без переопределнного ToString(), то будет выведено лишь название типа, поэтому я не стал дотписывать конкретное свойство или метод, предложив ему выбрать из списка.
Re[5]: получение текста выделенных элементов в CheckedListBo
От: Аноним  
Дата: 03.07.05 15:00
Оценка:
Здравствуйте, se-ga, Вы писали:

АС>>>>Дык эта... А у тебя эти элементы какого типа? System.String ?


SG>>>Я второй день в C# Вот такие у меня элементы:


SG>>>FileInfo[] fi = di.GetFiles();

SG>>>checkedListBox1.Items.AddRange(fi);

А>>Не удивительно. В примере тип хранимых объектов — string, а у тебя FileInfo. Поэтому надо и приводить к этому типу

А>>

А>>item = ((FileInfo)checkedListBox1.Items[k]).что_то_типа_name;

А>>



SG>1. что в данном случае значит
что_то_типа_name;
?

SG>2. мне нужно было получить текст из строки СheckedListBox. То есть это должен быть string. А так как ты пишешь, получается, что мы что-то пытаемся преобразовать в тип FileInfo.
SG>3. думаю, что в MSDN правильней было бы написать .ToString() вместо (string), так как эта функция универсальней.

SG>переубедите


блин, не тупи . Ты хранишь объекты типа FilInfo, и мы не пытаемся а преобразовываем их.
Метод ToString() следует использовать лишь тогда, когда он действительно возвращает то, что нужно. Если ты используешь объект FileInfo, то метод ToString возвращает полный путь к файлу, а если тебе требуется к примеру лишь расширения файлов? Или полный путь файлов, обладающих определенным атрибутом? Поэтому название "что_то_типа_name" в данном случае означает, что студия тебе выдаст список из которого ты выберешь нужный метод, включая ToString.
Re[6]: получение текста выделенных элементов в CheckedListBo
От: se-ga Украина  
Дата: 03.07.05 20:01
Оценка:
Здравствуйте, Аноним, Вы писали:


А> блин, не тупи . Ты хранишь объекты типа FilInfo, и мы не пытаемся а преобразовываем их.

А> Метод ToString() следует использовать лишь тогда, когда он действительно возвращает то, что нужно. Если ты используешь объект FileInfo, то метод ToString возвращает полный путь к файлу, а если тебе требуется к примеру лишь расширения файлов? Или полный путь файлов, обладающих определенным атрибутом? Поэтому название "что_то_типа_name" в данном случае означает, что студия тебе выдаст список из которого ты выберешь нужный метод, включая ToString.


Я написал свой пример потому-что решил, что это будет полезно другим (таким же программерам, как я ). Последствия бейсика. Там только два типа данных — float и string. И сбило меня то, что, по моим понятиям, listBox должен был заполниться объектами типа string, соответственно получение текста содержавшемся в элементах, не должно быть проблематичным.
работают оба варианта.

но всё равно, так

item = checkedListBox1.Items[k].ToString;

красивей, чем

item = ((FileInfo)checkedListBox1.Items[k]).что_то_типа_name;

по настоящему начинаешь ценить basic только изучая с++ (международная мудрость)
Re: получение текста выделенных элементов в CheckedListBox
От: FLUID Украина http://yuriy-okhmat.blogspot.com/
Дата: 05.07.05 15:21
Оценка: 1 (1)
Из прочитанного могу предложить такой вот пример:

// Для начала читаем файлы в CheckedListControl...
private void Form1_Load(object sender, System.EventArgs e)
{
FileInfo[] fi = new DirectoryInfo(@"C:\").GetFiles();
foreach(FileInfo item in fi)
this.checkedListBox1.Items.Add(item.Name);
}


// ... а затем отображаем отмеченные элементы...
private void button3_Click(object sender, System.EventArgs e)
{
IEnumerator en = this.checkedListBox1.CheckedItems.GetEnumerator();
while(en.MoveNext())
MessageBox.Show(en.Current.ToString());
}
Мы не владеем тем, чего мы не понимаем....
Re[7]: получение текста выделенных элементов в CheckedListBo
От: Воронков Василий Россия  
Дата: 06.07.05 02:02
Оценка:
Здравствуйте, se-ga, Вы писали:

SG>Я написал свой пример потому-что решил, что это будет полезно другим (таким же программерам, как я ). Последствия бейсика. Там только два типа данных — float и string.


Брехня
Re[8]: получение текста выделенных элементов в CheckedListBo
От: se-ga Украина  
Дата: 06.07.05 18:28
Оценка:
Здравствуйте, Воронков Василий, Вы писали:

ВВ>Здравствуйте, se-ga, Вы писали:


SG>>Я написал свой пример потому-что решил, что это будет полезно другим (таким же программерам, как я ). Последствия бейсика. Там только два типа данных — float и string.


ВВ>Брехня


ну, хорошо... последствия OBasic97 — http://obasic.com
по настоящему начинаешь ценить basic только изучая с++ (международная мудрость)
Re: получение текста выделенных элементов в CheckedListBox
От: Rexx Россия  
Дата: 26.07.05 19:38
Оценка:
Здравствуйте, se-ga, Вы писали:

SG>у меня не работает такая строка:

SG>item = (string) checkedListBox1.Items[k];

SG>компилируется, но во время выполнения пишет

SG>Specified cast is not valid.

SG>обошёл строкой:

SG>item = checkedListBox1.Items[k].ToString();

Ну для начала в checkedListBox1 заноси так(как написал FLUID):

foreach(FileInfo item in fi)
this.checkedListBox1.Items.Add(item.Name); //тут получаешь уже имя файла, естественно в string'е

получить текст из строки СheckedListBox.
например в обработчике события кнопки(событие Click) пишешь:

private void button1_Click(object sender, System.EventArgs e)
{
label1.Text = ""; //нужно чтоб после каждого нажатия кнопки не добовлялись новые записи к старым.
foreach(string itm in checkedListBox1.CheckedItems) //поиск выбраных записей в checkedListBox1
{
label1.Text = label1.Text + ";"+ itm; //добавление выбраных записей в label1(для наглядности, можешь в стринг, но тогда замени label1.Text = ""; на string myString = ""; )
}
}

В итоге, после нажатия на кнопку ты получишь список всех выделенных записей.
Это пример, а на его основе уже можешь сам что то придумать
Re[2]: получение текста выделенных элементов в CheckedListBo
От: se-ga Украина  
Дата: 27.07.05 08:44
Оценка:
Здравствуйте, Rexx, Вы писали:


R>foreach(FileInfo item in fi)

R>this.checkedListBox1.Items.Add(item.Name); //тут получаешь уже имя файла, естественно в string'е

R>получить текст из строки СheckedListBox.

R>например в обработчике события кнопки(событие Click) пишешь:

R>private void button1_Click(object sender, System.EventArgs e)

R>{
R> label1.Text = ""; //нужно чтоб после каждого нажатия кнопки не добовлялись новые записи к старым.
R> foreach(string itm in checkedListBox1.CheckedItems) //поиск выбраных записей в checkedListBox1
R> {
R> label1.Text = label1.Text + ";"+ itm; //добавление выбраных записей в label1(для наглядности, можешь в стринг, но тогда замени label1.Text = ""; на string myString = ""; )
R> }
R>}

R>В итоге, после нажатия на кнопку ты получишь список всех выделенных записей.

R>Это пример, а на его основе уже можешь сам что то придумать


честно сказать, уже забыл с чего всё начиналось ... я понимаю, что нет предела совершенству. но помню что работающий вариант был. а раз так, то лучше не ломать . всем спасибо!

Сергей
по настоящему начинаешь ценить basic только изучая с++ (международная мудрость)
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.