[ad_1]
私はこのフォームを持っていて、formMain の KeyDown イベントでボード ゲームをプレイする矢印を検出しますが、ゲームの開始時にフォーカスを奪うためにパネルを作成した[再起動]ボタンを押すと、ゲームが正しく開始されるようになりました。再起動ボタンがパネルにあるときにフォームのKeyDownイベントが発生するため、再起動をクリックするかフォーカスを取得すると、パネルの外側のフォームを押してもそのフォーカスを失うことができないため、再生できますボタンの再起動がコントロールを取得すると、タブストップ= falseでもコントロールを失うことはできません。
フォームにフォーカスを当てて KeyDown イベントを検出したいのですが、PreviewKeyDown で修正できますが、正当な解決策が必要です。
https://prnt.sc/SAx3YnbLr_hm[^]
私が試したこと:
private void panel1_Enter(object sender, EventArgs e) { Focus(); Select(); } Graphics g; private void FormMain_Shown(object sender, EventArgs e) { g = CreateGraphics(); drawAll(); buttonRestart.TabStop = false; ActiveControl = label1;// hidden label as its Visible=false Focus(); Select(); } private void buttonRestart_Enter(object sender, EventArgs e) { Focus(); Select(); }
[ad_2]
コメント