【问题标题】:get cursor position another form in windows application在 Windows 应用程序中获取光标位置的另一个表单
【发布时间】:2013-08-13 14:06:14
【问题描述】:

我的应用程序中有两个表单我正在从母版页一起调用两个表单。我在母版页中编写了代码 在顶部我这样声明 昏暗形式作为新的 FrmDelivary 将 frm1 调暗为新的 FrmrecievedDelivaryRequest

在这样的工具条菜单事件中: 将 frm1 调暗为新的 FrmrecievedDelivaryRequest frm1.Location = 新点(625, 225)
frm1.MdiParent = 我 frm1.Show()

Dim frm2 As New FrmDelivary
frm2.Location = New Point(965, 0)
frm2.MdiParent = Me 
frm.show() 

如果我按 R,我想将光标移至 FrmrecievedDelivaryRequest 的特定文本框

如果我按 D,我想将光标移至 FrmDelivary 的特定文本框

我该怎么做?我在frmMaster_KeyDown 事件中遇到了类似的事情:但同一页面再次显示。我已经打开了 FrmDelivary 的实例,所以我不想再次显示相同的页面。我只想将光标位置移到此表单的特定文本框

If e.KeyCode = Keys.A Then

    form.Show()
    form.txtTicket.Focus()
    Cursor.Position = form.txtTicket.Location
end if

我正在开发 vb.net windows 应用程序

【问题讨论】:

    标签: windows vb.net winforms


    【解决方案1】:

    之后

    frm1.Show()
    

    地点

    frm1.txtTicket.Focus()
    

    我认为您不需要 Cursor.Position 调用

    【讨论】:

    • 我装的一样。同时给出这个特定的形式再次显示。该特定表单实例已打开。我不想再次打开相同的表单
    【解决方案2】:

    在代码窗口顶部设置您的 frm1 和 frm2 变量,以便可以从所有 Subs 访问它们。在您的 KeyDown 事件中,放置

    If e.KeyCode = Keys.A Then
        frm1.Show()
        frm1.txtTicket.Focus()
        Cursor.Position = frm1.txtTicket.Location
    end if
    

    问题是您正在使用“AS NEW frmDelivery”语句实例化表单的新副本。

    【讨论】:

    • 我给出了这样的代码。但是我在输入 A 时仍然得到新页面
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-06-05
    • 2011-08-09
    • 1970-01-01
    • 2013-04-22
    相关资源
    最近更新 更多