我设置了一个非常简单的应用程序,其中包含一个 webbrowser 控件和一个带有 2 个按钮和一个用于输入 url 的文本框的不可见面板。
当我启动应用程序时,即使使用像这样简单得离谱的代码,再多的按键也无济于事。
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,那么我可以按键并从 keyup 例程获得响应。
有任何想法吗?我不知道该怎么做才能让应用程序开始接受击键而不强迫用户单击某些东西。me.focus 或 'control'.focus 也没有做任何事情。
用 Visual Studio 2010 编写
** * ** * ** * ** * ** * ** * *编辑* ** * ** * ** * ** * ** * ** * ** * ** * *** 我有发现是网络浏览器控件阻塞了它,但不知道如何让它合作。我的一个朋友帮我修好了。
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