WinForm自定义标题栏

这里只是一个功能的演示,代码也很简单,大体思路是把一个窗体的FormBorderStyle设为None,这是就没有标题栏了,然后自己添加两个Panel,一个为PanelCaption,一个为PanelContent,PanelCaption作为这个窗体的标题栏,图片如下:

image

 

上面蓝色部分为标题栏,下面很色部分为内容

代码如下:

注:代码中的panel1是标题栏的Name

 

public partial class Form1 : Form

    {

        public Form1()

        {

            InitializeComponent();

        }



        public static Point CPoint;

        bool down = false;



        private void panel1_MouseDown(object sender, MouseEventArgs e)

        {

            CPoint = new Point(e.X,e.Y);

            down = true;

        }



        private void panel1_MouseMove(object sender, MouseEventArgs e)

        {

            if (down == true)

            {

                if (e.Button == MouseButtons.Left)

                {

                    Point mousePosition = Control.MousePosition;

                    mousePosition.Offset(-CPoint.X,-CPoint.Y);

                    this.DesktopLocation = mousePosition;

                }

            }

        }

    }

你可能感兴趣的:(WinForm)