最終的な学校プロジェクトを終了しようとしています。私はのC#winformゲームを作成しています。私たちは他のものを使うことはできません。 私はそれがかなり混乱してしまったので私はここにコードを掲示されませんと私はあなたがこの情報で私にちょうど答えることができると思います。C#:KeyDownイベントがコントロールで機能しない
セットアップ:私は私のプログラムは次のように設定してしまった
。メインフォームと2つのユーザーコントロールです。私はゲーム中にメインフォーム内のそれらのコントロールを切り替えます。第1のものはMENUであり、第2のものはGUIであり、ピクチャボックスはgamesceneとして機能する。
問題:
セットアップは非常に重要な私は推測していません。しかし、私がする必要があること(それは形でアクティブである間)最初のコントロールにダウンいくつかのアクション時にI プレスキーを行うことです。私が最初に考えたのは簡単だが、onKeyDownイベントはmenu.cs(1st usercontrol)は何もしていない(イベントメソッドは空ではない)。私はthis.previewKey = trueを試しました。 メニューロードメソッドしかし、それはそれを認識しませんでした。 私の質問は: usercontrolsコードのonKeyDownを使用する方法はありますか?
私は2番目のコントロールに同じキーを使用すると、私はそれが
TLDR(明らかoposite ハァッでした)厄介取得したいdidntはbecouse私はこのようにそれをやった:を使用する必要がをonKeyDownメソッドのUserControl(KeyPreviewのキーであるかもしれない)
BONUS
私も何とか続きから変数をリンクする必要がでイベントロールスロイス1をフォームとコントロール2に置き換えます。 「Form to Form」のようなin situacionが簡単になることがわかりましたが、userControlsなのでそれを理解することはできません。そして、私は仕上げからちょっとだけです
はどうもありがとうございました:)私はそれを行ってどのように明日とタイプ見てみましょう! –
私はすぐに見て、私はそれらのコントロールにボタンがあるときにキーイベントが動作しないことに気づいた。あなたはどんな方法でも知っていますか?最後にクリックしたボタン(または最初のクリックがなかった場合は最初のボタン)が、入力、タブまたはスペースが押されるのを待っているキーボール入力を検出するような感じです。あなたが私にここに従うことができるかどうか分からない。私は深いプログラマーではない。あなたが私に答えることができればあなたの努力に感謝:) –
コントロールをフォームに変更する – Shon