ハテナキハテナ --unics’s think/sync

福井のまんなかでぼんにょり呟く、ゆにくすの日々オボエガキなど。

フォーム上などでキーコントロールを制御する。

あ、前のシゴト記事で言い忘れてましたね。この頃はC#やってます。
フォーム上でキー押下イベントを取るのが不都合な場合、以下のメソッドをオーバーライドすることでキー制御ができるようですよ。

/// <summary>
/// キー押下時の動作(オーバーライド)
/// </summary>
/// <param name="keyData"></param>
/// <returns></returns>
protected override bool ProcessDialogKey(Keys keyData)
{
    // フォーム内ではエンター以外の動作を認めない
    if ((keyData & Keys.KeyCode) == Keys.Enter)
    {
        return base.ProcessDialogKey(keyData);
    }
    else
    {
        // 本来のキー挙動をキャンセルするためにはtrueを返却する
        return true;
    }
}

参考:Buttonコントロールにフォーカスがあるとフォームで矢印キーのキーイベントが発生しない

qqq for your reading!!
(c)Electro-U-nics --since 2004.03.26