winform设置窗体颜色为渐变色

效果

winform设置窗体颜色为渐变色_第1张图片

这里我将窗体的FormBorderStyle属性改为了None 顶部放置了Panel所以需要修改panel

这里需要在Panel的 panel1_Paint事件中添加以下代码即可

 #region 使窗体可以移动的代码
        [DllImport("user32.dll")]
        public static extern bool ReleaseCapture();
        [DllImport("user32.dll")]
        public static extern bool SendMessage(IntPtr hwnd, int wMsg, int wParam, int IParam);
        public const int WM_SYSCOMMAND = 0x0112;
        public const int SC_MOVE = 0xF010;
        public const int HTCAPTION = 0x0002;
        #endregion

        //第二步:在窗体的Mouse_Down事件中调用  
        private void panel1_MouseDown(object sender, MouseEventArgs e)
        {
            //拖动窗体
            this.Cursor = System.Windows.Forms.Cursors.Hand;//改变鼠标样式
            ReleaseCapture();
            SendMessage(this.Handle, WM_SYSCOMMAND, SC_MOVE + HTCAPTION, 0);
            this.Cursor = System.Windows.Forms.Cursors.Default;
        }

        private void panel1_Paint(object sender, PaintEventArgs e)
        {
            Graphics g = e.Graphics;
            Color FColor = Color.Blue;
            Color TColor = Color.Red;


            Brush b = new LinearGradientBrush(this.ClientRectangle, FColor, TColor, LinearGradientMode.ForwardDiagonal);


            g.FillRectangle(b, this.ClientRectangle); 
        }

你可能感兴趣的:(WinForm,winform窗体渐进色)