将窗体加载到 panel 中,如何让窗体不能移动呢?
我想通过 panel 控件,灵活的加载不同的窗体,但是,我发现在panel中,窗体是可以移动的。
如何不让窗体移动呢?
谢谢

解决方案 »

  1.   

    protected override void WndProc(ref Message m)
            {
                const int WM_NCLBUTTONDOWN = 161;
                const int WM_SYSCOMMAND = 274;
                const int HTCAPTION = 2;
                const int SC_MOVE = 61456;            if ((m.Msg == WM_SYSCOMMAND) && (m.WParam.ToInt32() == SC_MOVE))
                    return;            if ((m.Msg == WM_NCLBUTTONDOWN) && (m.WParam.ToInt32() == HTCAPTION))
                    return;            base.WndProc(ref m);
            }写在要在panel 控件里打开的窗体的代码中。
      

  2.   

    窗体的formborderstyle = none.
    你要先设置好窗体的位置,应该不能移动了。
      

  3.   

    SetWindowLong GWL_STYLE 将窗口的标题栏去掉。
      

  4.   

    formborderstyle = none
    然后把panel的背景图做的和有标题行一样即可。
      

  5.   

    public void CreateMyForm()
    {
       // Create a new instance of the form.
       Form form1 = new Form();
       // Create two buttons to use as the accept and cancel buttons.
       Button button1 = new Button ();
       Button button2 = new Button ();   // Set the text of button1 to "OK".
       button1.Text = "OK";
       // Set the position of the button on the form.
       button1.Location = new Point (10, 10);
       // Set the text of button2 to "Cancel".
       button2.Text = "Cancel";
       // Set the position of the button based on the location of button1.
       button2.Location
          = new Point (button1.Left, button1.Height + button1.Top + 10);
       // Set the caption bar text of the form.   
       form1.Text = "My Dialog Box";
       // Display a help button on the form.
       form1.HelpButton = true;   // Define the border style of the form to a dialog box.
       form1.FormBorderStyle = FormBorderStyle.FixedDialog;
       // Set the MaximizeBox to false to remove the maximize box.
       form1.MaximizeBox = false;
       // Set the MinimizeBox to false to remove the minimize box.
       form1.MinimizeBox = false;
       // Set the accept button of the form to button1.
       form1.AcceptButton = button1;
       // Set the cancel button of the form to button2.
       form1.CancelButton = button2;
       // Set the start position of the form to the center of the screen.
       form1.StartPosition = FormStartPosition.CenterScreen;   // Add button1 to the form.
       form1.Controls.Add(button1);
       // Add button2 to the form.
       form1.Controls.Add(button2);   // Display the form as a modal dialog box.
       form1.ShowDialog();
    }
      

  6.   


                Form2 f = new Form2();
                //f.FormBorderStyle = FormBorderStyle.None;
                f.TopLevel = false;
                panel1.Controls.Add(f);
                f.Show();