2012-03-27 26 views
4

私はTextBoxのProcessCmdKeyメソッドをオーバーライドするコードがあります。オーバーライドProcessCmdKey C#の

protected override bool ProcessCmdKey(ref Message msg, Keys keyData) 
{ 
    switch (keyData) 
    { 
     case: //something to do etc etc. 
    } 
    return true; 
} 

をしかし、私は上記のコードを使用するとき、私はテキストボックスに書き込むことはできません。これには解決策がありますか?

答えて

11

あなたはすべてを扱ったら、ベースコントロールにそれを渡す:

protected override bool ProcessCmdKey(ref Message msg, Keys keyData) 
{ 
    switch (keyData) 
    { 
     case /* whatever */: 
     // ... 
     default: 
      return base.ProcessCmdKey(ref msg, keyData); 
    } 

    return true; 
} 
+0

うんそれは私の答えよりはましだ、我々は常に、デフォルトでは 'base'のメソッドを呼び出す必要がありますオーバーライドされている。 – rfmodulator

+0

ありがとう、私が必要なものです:) –

0

trueを返すと、入力が処理され、次のコントロールに渡されないことを意味します。戻り値はfalseです。期待どおりに動作するはずです。

Link

関連する問題