一般的软件在右下角个 标志  鼠标按下后就能改变 调整窗体大小  但是不知道具体怎么实现的 求段代码查考下

解决方案 »

  1.   


     /// <summary>
            /// 最大化、正常
            /// </summary>
            /// <param name="sender"></param>
            /// <param name="e"></param>
            private void buttonSize_Click(object sender, EventArgs e)
            {
                 if (this.WindowState == FormWindowState.Maximized)
                {
                    this.WindowState = FormWindowState.Normal;
                    Size = new Size(1024, 728);
                    this.StartPosition = FormStartPosition.CenterScreen;
                }
                else
                {
                   this.WindowState = FormWindowState.Maximized;
                }
            }
      

  2.   

    是这样的 因为无边框的窗体嘛  在窗体的右下角会有个 三条虚线 鼠标按下后可以调整窗体大小 
    但是因为设计原因 这个部分被panel遮盖住了 就替换个图片的 三条虚线 来实现窗体大小的调整 
    现状不知道该怎么做 
      

  3.   

    你可以试试用button_click()事件做一下……
      

  4.   

      Protected Overrides Sub WndProc(ByRef m As Message)
            Select Case m.Msg
                Case Win32.WM_NCHITTEST
                    Dim vPoint As New Point(CInt(m.LParam) And &HFFFF, CInt(m.LParam) >> 16 And &HFFFF)
                    vPoint = PointToClient(vPoint)
                    If MaximizeBox Then
                        If vPoint.X <= 3 Then
                            If vPoint.Y <= 3 Then
                                m.Result = CType(Win32.HTTOPLEFT, IntPtr)
                            ElseIf vPoint.Y >= Height - 10 Then
                                m.Result = CType(Win32.HTBOTTOMLEFT, IntPtr)
                            Else
                                m.Result = CType(Win32.HTLEFT, IntPtr)
                            End If
                        ElseIf vPoint.X >= Width - 10 Then
                            If vPoint.Y <= 10 Then
                                m.Result = CType(Win32.HTTOPRIGHT, IntPtr)
                            ElseIf vPoint.Y >= Height - 10 Then
                                m.Result = CType(Win32.HTBOTTOMRIGHT, IntPtr)
                            Else
                                m.Result = CType(Win32.HTRIGHT, IntPtr)
                            End If
                        ElseIf vPoint.Y <= 3 Then
                            m.Result = CType(Win32.HTTOP, IntPtr)
                        ElseIf vPoint.Y >= Height - 10 Then
                            m.Result = CType(Win32.HTBOTTOM, IntPtr)
                        Else
                            MyBase.WndProc(m)
                        End If
                    End If
                    Exit Select
                Case Else
                    MyBase.WndProc(m)
                    Exit Select
            End Select
        End Sub    Public Const MF_REMOVE As Integer = &H1000    Public Const SC_RESTORE As Integer = &HF120
        '还原
        Public Const SC_MOVE As Integer = &HF010
        '移动
        Public Const SC_SIZE As Integer = &HF000
        '大小
        Public Const SC_MINIMIZE As Integer = &HF020
        '最小化
        Public Const SC_MAXIMIZE As Integer = &HF030
        '最大化
        Public Const SC_CLOSE As Integer = &HF060
        '关闭 
        Public Const WM_SYSCOMMAND As Integer = &H112
        Public Const WM_COMMAND As Integer = &H111    Public Const GW_HWNDFIRST As Integer = 0
        Public Const GW_HWNDLAST As Integer = 1
        Public Const GW_HWNDNEXT As Integer = 2
        Public Const GW_HWNDPREV As Integer = 3
        Public Const GW_OWNER As Integer = 4
        Public Const GW_CHILD As Integer = 5    Public Const WM_LBUTTONDOWN As Integer = &H201
        Public Const WM_LBUTTONUP As Integer = &H202
        Public Const WM_LBUTTONDBLCLK As Integer = &H203
        Public Const WM_WINDOWPOSCHANGING As Integer = &H46
        Public Const WM_PAINT As Integer = &HF
        Public Const WM_CREATE As Integer = &H1
        Public Const WM_ACTIVATE As Integer = &H6
        Public Const WM_NCCREATE As Integer = &H81
        Public Const WM_NCCALCSIZE As Integer = &H83
        Public Const WM_NCPAINT As Integer = &H85
        Public Const WM_NCACTIVATE As Integer = &H86
        Public Const WM_NCLBUTTONDOWN As Integer = &HA1
        Public Const WM_NCLBUTTONUP As Integer = &HA2
        Public Const WM_NCLBUTTONDBLCLK As Integer = &HA3
        Public Const WM_NCMOUSEMOVE As Integer = &HA0
      

  5.   

    这个很简单,到以下地址去看看,应该是你需要的
    http://download.csdn.net/detail/mask_ll/3709169