動くコード図鑑技術記事現場の渡り方キャリア論すべての記事About
C#

定石3: Selected3兄弟(Index / Value / Item)の使い分け

出典: WinForms ComboBox の DataSource バインディングと SelectedIndex / SelectedValue / SelectedItem の違い定石3: Selected3兄弟(Index / Value / Item)の使い分け

定石3: Selected3兄弟(Index / Value / Item)の使い分け (csharp)#d784d45bf247
// ✅定石3: Selected3兄弟の使い分け
private void btnSubmit_Click(object sender, EventArgs e)
{
    // 1. SelectedIndex:選択行番号(int、未選択は-1)
    int idx = combo.SelectedIndex;
    if (idx < 0){ MessageBox.Show("選択してください"); return; }
 
    // 2. SelectedValue: ValueMemberで指定したカラムの値(object)
    //業務SE最頻、ID取得に使う
    int customerId = (int)combo.SelectedValue;   // ValueMember="id"でid列がint型なら
 
    // 3. SelectedItem:選択された行そのもの(DataRowViewやTが返る)
    //行全体を扱いたい時に使う
    if (combo.SelectedItem is DataRowView row)
    {
        string name  = row.Row.Field<string>("name");
        int    code  = row.Row.Field<int>("id");
        string memo  = row.Row.Field<string>("memo");
        //行の他の列も読める
    }
}
▸ この snippet は実行結果未収録
▸ 実行結果は未収録です
  • id: #d784d45bf247
  • lines: 21
  • extracted: 2026-06-10

Source収録記事

この snippet は記事の「定石3: Selected3兄弟(Index / Value / Item)の使い分け」セクションに登場する。コードの前後の文脈・ハマりどころの解説は記事本文で。

同じ記事から

4
図鑑トップ