VC++.netでcheckedListBoxで選択されている項目を取得する。

フォーラム(掲示板)ルール
フォーラム(掲示板)ルールはこちら  ※コードを貼り付ける場合は [code][/code] で囲って下さい。詳しくはこちら
.net初心者

VC++.netでcheckedListBoxで選択されている項目を取得する。

#1

投稿記事 by .net初心者 » 15年前

ディレクトリの取得
何度もお尋ねしてすみません。
foreachを使ってcheckedListBoxで選択されているアイテム名を全て取得したいです。
とりあえず配列に入れテキストボックスに表示しようと頑張ってみました。
しかしいくらやってもforeachでエラーが返ってきてしまいます。

どの様にすれば取得できるでしょうか?

this->checkedListBoxItem->

バグ

Re:VC++.netでcheckedListBoxで選択されている項目を取得する。

#2

投稿記事 by バグ » 15年前

CheckedItemsプロパティの中身を取り出していけばOKです。
この際、ListBox内のアイテムに関してはObject型になってますので、登録した際と同じ型にキャストして使用しなければなりません。

下記のサンプルでは、String型のアイテムが格納されてあるCheckedListBox内の選択されているアイテムをメッセージボックスで順次表示していっています。
for each (System::Object^ obj in this->checkedListBox->CheckedItems)
{
    System::Windows::Forms::MessageBox::Show(((System::String^)obj));
}

バグ

Re:VC++.netでcheckedListBoxで選択されている項目を取得する。

#3

投稿記事 by バグ » 15年前

ちなみにforeachを使用せずに、forで記述すると下記のような感じです。
for (int i = 0; i < checkedListBox1->CheckedItems->Count; ++i)
{
    MessageBox::Show((String^)(checkedListBox1->CheckedItems));
}

.net初心者

Re:VC++.netでcheckedListBoxで選択されている項目を取得する。

#4

投稿記事 by .net初心者 » 15年前

ご回答ありがとうございます。
別のやり方も教えて頂きありがとうございました。

foreachはあまりつかったことがないので(PHPで使った程度)
取っ付きにくいですが頑張ります。

バグ

Re:VC++.netでcheckedListBoxで選択されている項目を取得する。

#5

投稿記事 by バグ » 15年前

foreachの使用法、もちろん、知っておいて損はありませんが…。

もし、forループの方が分かりやすかったり、馴染み深いのであれば無理に拘って使う必要はないかと思います。

実際、foreachでなければいけないという局面はほとんど無く、大抵の場合はforループで同等の処理を行えますしね。

ArrayクラスならLengthプロパティ、ListクラスならCountプロパティで要素数を取得できますから、インデックスの作成も容易ですしね。

.net初心者

Re:VC++.netでcheckedListBoxで選択されている項目を取得する。

#6

投稿記事 by .net初心者 » 15年前

ご回答ありがとうございました。
for文を使わせていただきます。
助かりました。

.net初心者

Re:VC++.netでcheckedListBoxで選択されている項目を取得する。

#7

投稿記事 by .net初心者 » 15年前

ご回答ありがとうございました。
for文を使わせていただきます。
助かりました。

閉鎖

“C言語何でも質問掲示板” へ戻る