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;
                }
            }
        }
    }
posted @ 2010-10-28 23:23  槑槑  阅读(4623)  评论(4编辑  收藏  举报