2017-10-11 12 views
0

KeyDownイベントでダブルクリックイベントから実行するコードを記述しています。私はそのコードブロックを関数としてラップし、両方のイベントでその関数を呼び出すことができますが、私は新しい機能を作成することを避けるために巧妙な方法を使いたいと思っています。これは私の2つのイベントのようなものです。 DoubleClickのイベントから//do somethingブロックを実行するためにDoubleClickイベントからKeyDownイベントを呼び出す

private void txtProduct_KeyDown(object sender, KeyEventArgs e) 
{ 
    if(e.KeyCode == Keys.Return) 
    { 
     //do something 
    } 
} 

private void listProduct_DoubleClick(object sender, EventArgs e) 
{ 
    txtProduct_KeyDown(txtProduct, Keys.Return); 
} 

、私は2つの特定の引数でのKeyDownイベントを呼び出す必要があります。それは何ですか?どんな助け?あなたはそれがコーディング慣行が懸念しているとして、それを行うための最善の方法ではないですが、あなたはあなたのためにそれdoSomethingのを実行する関数を作成してからそれを呼び出す必要があり、この

txtProduct_KeyDown(txtProduct, new KeyEventArgs(Keys.Enter)); 

が必要KeyEventArgs渡すに

答えて

0

世界のどこでも。

+0

ありがとうございます。はい、私はそれを知っています。私はちょうど私がReturnキーのkeyCodeを持つkeyEventArgsオブジェクトを作成する方法を知っていないし、それをKeyDownイベントに渡します。例が役立つかもしれません。 –

+0

@WahidMasud私の更新された回答を参照 –

3

ここには行かないでください。 常には、共通の機能を独自のメソッドに抽出します。新しい方法を作成することを避けるために派手なものを試すことは、長期的には痛みを引き起こすだけです。

無痛であり、あなたが何をしたいのかを正確に表現し
private void txtProduct_KeyDown(object sender, KeyEventArgs e) 
{ 
    if(e.KeyCode == Keys.Return) 
    { 
     DoSomething(); 
    } 
} 

private void listProduct_DoubleClick(object sender, EventArgs e) 
{ 
    DoSomething(); 
} 

private void DoSomething() 
{ 
    // Do Something 
} 

、リストのダブルクリックとリターンのKeyDown上すなわちDoSomething両方。

+0

alright mate :) –

関連する問題