1

(使用visual studio 2010,VB)我有一个以“MainForm”为主窗口的多窗体窗口项目。当我在 Visual Studio 中处于设计模式并按 Ctrl+Tab 时,它会显示一个窗口,其中显示 Visual Studio 中当前打开的对象,我想将此功能添加到我的项目中,我需要一个地方或一个教程来开始.

我了解 Winforms 项目中 Show/Hide 和 Form.Select() 方法的概念,但我只需要知道如何在窗口中列出我的项目中当前打开的表单并使用 Ctrl+Tab 功能在它们之间切换。

任何帮助都感激不尽。

我刚刚完成了第 1 步:我在主窗体中创建了一个列表框并添加了两个按钮:按钮一次单击事件是这样的:

Dim formTitles As New Collection

    Try
        For Each f As Form In My.Application.OpenForms
            If Not f.InvokeRequired Then
                ' Can access the form directly.
                formTitles.Add(f.Text)
            End If
        Next
    Catch ex As Exception
        formTitles.Add("Error: " & ex.Message)
    End Try

    Me.ListBox1.DataSource = formTitles

此代码列出了我的项目中当前打开的表单的名称。现在按钮 2 点击事件是这个

Dim formTitles As New Collection

    Try
        For Each f As Form In My.Application.OpenForms
            If Not f.InvokeRequired Then
                If f.Text = Me.ListBox1.SelectedItem.ToString Then
                    f.Select()
                End If
                ' Can access the form directly.

            End If
        Next
    Catch ex As Exception

    End Try

这一项将焦点设置为在列表框中选择名称的表单。

现在我需要按下 Ctrl+Tab 键来实现按下时显示新表单并在释放时隐藏它并在仅按下选项卡按钮时在其中切换的魔力(Ctrl 处于保持状态)

4

1 回答 1

0

我想出了如何做到这一点:

在主窗体上,我使用带有 Ctrl+Tab 的 keydown 事件,它打开了在该窗体中显示我的项目中打开的窗口的窗体,有 2 个事件: keypress with tab only 更改所选列表项 keyup 事件,仅 Ctrl 关闭窗体并选择我想要的窗口。

谢谢你。

于 2013-05-07T08:13:26.280 回答