2015-01-20 54 views
1

我有一個組合框,如果按下「Enter」鍵將會執行某些操作。但我想手動調用此函數,但我如何發送「ENTER」鍵作爲參數?發送按鍵作爲函數中的參數

private void carga_todos(object sender, KeyPressEventArgs e) 
    { 
     if (e.KeyChar == (char)13) 
     { 
      do something 
     } 

我嘗試這樣的:

carga_todos(null, ??????) 
+7

沒有必要使用全部大寫爲標題。 KTHX。 – Borgleader 2015-01-20 18:55:54

+3

我認爲OP在寫標題時聽金屬。 – 2015-01-20 18:58:58

+1

這不能被論壇軟件阻止? – 2015-01-20 19:02:15

回答

6

別叫事件手動像。

移動你的邏輯到一個單獨的方法,它只要你喜歡,你可以打電話:

private void carga_todos(object sender, KeyPressEventArgs e) 
{ 
    if (e.KeyChar == (char)Keys.Enter) 
    { 
     DoSomething(); 
    } 
} 

private void AnotherFunctionThatNeedsToDoSomethingToo() 
{ 
    DoSomething(); 
} 

private void DoSomething() 
{ 
    // stuff to do 
} 
+0

謝謝,omg我怎麼沒有注意到這一點!,我是複雜的所有。 – user2615105 2015-01-20 19:12:35

2

我同意格蘭特Winney。但是,如果你的需求來調用處理程序直接然後下面應該工作:

KeyPressEventArgs kpea = new KeyPressEventArgs((char)Keys.Enter); 
carga_todos(null, kpea); 

好運 Ĵ

+0

感謝這個作品太喜歡魅力!! – user2615105 2015-01-20 19:59:58