2012-02-22 40 views
0
 private void item_grid_CellClick(object sender, DataGridViewCellEventArgs e) 
    { 
     if (e.ColumnIndex==taxone_col_index || e.ColumnIndex==taxtwo_col_index) 
     { 


     } 

    } 

    private void item_grid_KeyPress(object sender, KeyPressEventArgs e) 
    { 
     if (e.KeyChar == (char)Keys.Return) 
     { 
      e.Handled = true; 

      item_grid.CellClick; // i did this but its not working   } 
    } 

私はkeypressイベントからセルクリックイベントを実行します。どうやってするの?datagridview keypressイベントからdatagridview cellclickイベントを実行する方法は?

答えて

2

これは、キーが押されているセルの行と列のインデックスを知ることです。それからセルの値を調べることができます。

これを行うにはのDataGridViewプロパティを使用します。

人為的にCellClickを作成しようとすると、問題が発生するだけです。注意すべき

ことの一つは、グリッドレベルKeyPressイベントを発生しませんが、おそらくDataGridViewセルに入力するので、EditingControlShowingイベントを処理し、基本的な編集コントロールにKeyPressハンドラをアタッチする必要があるということです。


あなたは本当にがCellClickイベントを作成したい場合はDataGridViewコントロールをサブクラス化して、保護されたOnCellClick()メソッドを呼び出し、独自のRaiseCellClick()方法作成する必要があります。

public void RaiseCellClick(int row, int column) 
{ 
    DataGridViewCellEventArgs e = new DataGridViewCellEventArgs(row, column); 
    base.OnCellClick(e); 
} 

しかし、たとえをDataGridViewCellEventArgsはコンストラクタで行と列のインデックスを取得する必要があるため、これは特に役に立ちません。

+0

あなたは私にアイデアを与え、私は私の問題を解決しました..ありがとう –

関連する問題