首页 > 解决方案 > 将面板从winform中取出并使其可移动

问题描述

使用以下代码,我可以在运行时在我的 Windows 窗体中移动一个面板。

    Private position As New Point()
    Private Sub Pnl_Osc_Settings_MouseMove(sender As Object, e As MouseEventArgs) Handles Pnl_Osc_Settings.MouseMove

        Dim p As Panel = CType(Pnl_Osc_Settings, Panel)

        If e.Button = MouseButtons.Left Then

            Dim mousePos As Point = Me.PointToClient(Control.MousePosition)

            If position.IsEmpty = True Then
                position = New Point(mousePos.X - p.Left, mousePos.Y - p.Top)
            End If
            p.Location = New Point(mousePos.X - position.X, mousePos.Y - position.Y)

        ElseIf Not position.IsEmpty = True Then

            position = New Point()

        End If


    End Sub

是否可以选择将此面板移到我的 Windows 窗体之外?提前谢谢了!

标签: vb.netwinformspanelwindows-forms-designer

解决方案


不可能的。但是,如果您使用 System.Runtime.Remoting.Channels.Ipc ,您将能够将控件传递给您创建的其他表单。


推荐阅读