Windows Form

DataGridView内ComboBoxセルのSelectedIndexChangedイベントの検出

private DataGridViewComboBoxEditingControl dataGridViewComboBox = null;

//EditingControlShowingイベントハンドラ
private void DataGridView1_EditingControlShowing(object sender, DataGridViewEditingControlShowingEventArgs e)
{
    //表示されているコントロールがDataGridViewComboBoxEditingControlか調べる
    if (e.Control is DataGridViewComboBoxEditingControl)
    {
        DataGridView dgv = (DataGridView)sender;

        //該当する列か調べる
        if (dgv.CurrentCell.OwningColumn.Name == "ComboBox")
        {
            //編集のために表示されているコントロールを取得
            this.dataGridViewComboBox = (DataGridViewComboBoxEditingControl)e.Control;
            //SelectedIndexChangedイベントハンドラを追加
            this.dataGridViewComboBox.SelectedIndexChanged += new EventHandler(dataGridViewComboBox_SelectedIndexChanged);
        }
    }
}

//CellEndEditイベントハンドラ
private void DataGridView1_CellEndEdit(object sender, DataGridViewCellEventArgs e)
{
    //SelectedIndexChangedイベントハンドラを削除
    if (this.dataGridViewComboBox != null)
    {
        this.dataGridViewComboBox.SelectedIndexChanged -= new EventHandler(dataGridViewComboBox_SelectedIndexChanged);
        this.dataGridViewComboBox = null;
    }
}

//DataGridViewに表示されているコンボボックスの
//SelectedIndexChangedイベントハンドラ
private void dataGridViewComboBox_SelectedIndexChanged(object sender, EventArgs e)
{
    //選択されたアイテムを表示
    DataGridViewComboBoxEditingControl cb = (DataGridViewComboBoxEditingControl)sender;
    Console.WriteLine(cb.SelectedItem);
}


セシウム137を97.7%吸着

コメント:



(画像の文字列を入力して下さい)

トップ   編集 凍結 差分 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2019/12/02 (月) 12:44:24 (1628d)

PCpዾyǗlgĂ܂}WŔ܂z 萔O~ył񂫁z Yahoo yV NTT-X Store

z[y[W ̃NWbgJ[h COiq ӂ邳Ɣ[ COsیI COze