Web ブラウザー コントロールと、URL を入力するために使用する 2 つのボタンとテキスト ボックスを備えた非表示パネルを備えた非常にシンプルなアプリをセットアップしました。
アプリを起動すると、このような途方もなく単純なコードであっても、キーを押しても何の効果もありません。
Private Sub Frm_Main_Load(sender As Object, e As System.EventArgs) Handles Me.Load
My.Settings.Reload()
Dim URL As New Uri(Application.StartupPath & "\" & My.Settings.path)
WebBrowser1.Url = URL
TXT_URL.Text = My.Settings.path
Me.KeyPreview = True
End Sub
Private Sub Frm_Main_KeyUp(sender As Object, e As System.Windows.Forms.KeyEventArgs) Handles Me.KeyUp
Beep()
End Sub
ただし、メニュー オプションをクリックしてパネルを表示し、すぐにパネルのボタンをクリックして pnl_url.visible=false を設定すると、キーを押してキーアップ ルーチンから応答を取得できます。
何か案は?ユーザーに何かをクリックさせずに、アプリにキーストロークの受け入れを開始させるにはどうすればよいかわかりません。me.focus または 'control'.focus も何もしていません。
Visual Studio 2010 で書かれました
** * ** * ** * ** * ** * ** * *編集* ** * ** * ** * ** * ** * ** * ** * ** * *** 私が持っていたそれを窒息させていたのはWebブラウザコントロールであることがわかりましたが、それを連携させる方法がわかりませんでした。私の友人が私のためにそれを修正しました。
Private Sub WebBrowser1_PreviewKeyDown(sender As Object, e As System.Windows.Forms.PreviewKeyDownEventArgs) Handles WebBrowser1.PreviewKeyDown
Dim ee As New KeyEventArgs(e.KeyData)
Me.Frm_Main_KeyUp(sender, ee)
End Sub