none
两个Form。其中一个Form。通过按键两次载入后。不再有焦点。您遇到了吗。请求支援。谢谢。 RRS feed

  • 问题

  • 今天遇到这样一个问题。有两个窗口Form1和Form2.我把Form1的KeyPreview属性设置为True.

    Form2上放一个TextBox。TextBox在窗口启动时获取焦点。然后在Form1的KeyDown事件,判断用户按下

    F10键时便showDialog的方式载入Form2.用户第一次按下F10键。程序正常。用户关闭Form2.第二次按下

    F10键,载入Form2.界面没有任何焦点。TextBox也无法获取焦点。光标不闪烁。需要用鼠标点击一下Form2.

    才有焦点。请问我要如何做才能解决我的问题。谢谢朋友。

    2012年3月10日 15:57

答案

  • 您好。您的代码已经测试。程序首次启动。textbox可以获得焦点。如果第二次载入。窗口以及控件没有任何焦点。需要单击鼠标激活。

    不会啊,我也测试过了,要不你把代码发到我邮箱我看看,谢谢!

    请严格按照我给出的代码进行测试!特别检查你的KeyPreview是不是为True!

    textBox1.Focus()

    之后加上Application.DoEvents()——让系统尽快反映过来,执行完毕当前的指令(你暂且可以这样理解)

    另外,请在构造函数之中加入Thread.Sleep(1000);起到延时作用


       QQ我:讨论(Talk)
    下载MSDN桌面工具(Vista,Win7)
    我的博客园
    慈善点击,点击此处



    2012年3月11日 7:21
    版主

全部回复

  •  [Form1]

    Imports System.Collections
    Imports System.Collections.Generic
    Imports System.Data
    Imports System.Diagnostics
    
    Public Partial Class Form1
    	Inherits Form
    	Public Sub New()
    		InitializeComponent()
    		KeyPreview = True
    		Addhandler KeyDown,AddressOf Form1_KeyDown)
    	End Sub
    
    	Private Sub Form1_KeyDown(sender As Object, e As KeyEventArgs)
    		If e.KeyCode = Keys.F10 Then
    			Dim frm2 As New Form2()
    			frm2.ShowDialog()
    		End If
    	End Sub
    End Class

    [Form2]

    Public Partial Class Form2
    	Inherits Form
    	Public Sub New()
    		InitializeComponent()
    	End Sub
    
    	Private Sub Form2_Load(sender As Object, e As EventArgs)
    		textBox1.Focus()  '加上这句话,强制赋予焦点……
    	End Sub
    End Class

       QQ我:讨论(Talk)
    下载MSDN桌面工具(Vista,Win7)
    我的博客园
    慈善点击,点击此处

    2012年3月11日 2:53
    版主
  • 您好。您的代码已经测试。程序首次启动。textbox可以获得焦点。如果第二次载入。窗口以及控件没有任何焦点。需要单击鼠标激活。

    2012年3月11日 6:57
  • 您好。您的代码已经测试。程序首次启动。textbox可以获得焦点。如果第二次载入。窗口以及控件没有任何焦点。需要单击鼠标激活。

    不会啊,我也测试过了,要不你把代码发到我邮箱我看看,谢谢!

    请严格按照我给出的代码进行测试!特别检查你的KeyPreview是不是为True!

    textBox1.Focus()

    之后加上Application.DoEvents()——让系统尽快反映过来,执行完毕当前的指令(你暂且可以这样理解)

    另外,请在构造函数之中加入Thread.Sleep(1000);起到延时作用


       QQ我:讨论(Talk)
    下载MSDN桌面工具(Vista,Win7)
    我的博客园
    慈善点击,点击此处



    2012年3月11日 7:21
    版主