2020/09/13

C# のlistsoxから色々な値を取得する4つの方法

 久しぶりのプログラミングをしていたら、忘れる事ってありませんか?

 

僕は良くあります。「これ何だったかな? 少し前に調べたんだけれど……」ってやるたびに首を傾げます。

日々、プログラミングに勤しんでいる方なら、「おいおい、そんなの基本だろう?」と思うかもしれませんが、時間を置いてしまうと人はすぐに忘れてしまいます。

 

そんな訳で、今回はC#のlistbox から色々な値を取得する4つの方法について紹介します。

 

前提条件ですが、

  • listboxの名前は"listbox1"とする
  • MessageBoxに出力できる場合は出力可能な書式とする

以上を踏まえようと思います。



①インデックス番号を取得する場合

戻り値

選択されている場合、一番上の項目ならば 0 が返り、その下ならば 1 となります。選択されていないと -1 が戻ります。

コード

MessageBox.Show(listbox1.SelectedIndex.ToString());


②選択されている項目を取得する場合

戻り値

選択されている項目をObject型で返し、選択されていないと NULL となります。

仮にToString()でString型にした場合、項目が選択されていればテキストに設定した値が取得できますが、選択されていないとErrorとなります。

コード

MessageBox.Show(listbox1.SelectedItem.ToString());

 

③選択されている項目の値を取得する場合

戻り値

DataSourceプロパティに設定しているならば、選択されている項目のValueMemberプロパティで指定した値を返します。

コード

listbox1.SelectedValue;


④選択されている項目のテキストを取得する場合

戻り値

選択されている項目のテキスト値をString型で返し、選択されていない場合は未定義が返ります。

コード

Messagebox.Show(listbox1.Text);


まとめ

今回はC#でlistbox から色々な値を取得する方法について紹介しました。

C#のlistbox ではインデックス番号を取得する際には"SelectedItem"を使用し、選択されている項目を取得する場合は"SelectedItem"を使います。項目の値を取得するには"SelectedValue"項目のテキストを取得するには"Text"とします。

"SelectedItem"と”Text"は項目が選択されているならば同じ値を取得できますが、選択されていない状態では"SelectedItem"はNULLとなり、"Text"では未定義となります。

0 件のコメント:

コメントを投稿

MPLAB X IDE の日本語が文字化けしないようにする方法

  MPLAB X IDE で開発していると、 コメントアウトした日本語が文字化け していませんか?   プログラミングをやっていると、開発途中に気付いたことや忘れてはいけないことがどうしても出てきますよね。そんな時、僕たちはコメントアウトで注記を記載していきます。 時間が経って...