首页 > 其他分享 >Winform GDI 系列(2) 窗体边框重绘制

Winform GDI 系列(2) 窗体边框重绘制

时间:2022-10-28 16:33:54浏览次数:83  
标签:int System 窗体 using GDI Panel public Winform

///<summary>
///窗体边框重绘制
///</summary>
///<param name="sender"></param>
///<param name="e"></param>
privatevoid Form1_Paint(object sender,PaintEventArgs e)
{
///自定义绘制边框颜色
//e.Graphics.DrawRectangle(Pens.DarkOliveGreen,0, 0, this.Width - 1, this.Height - 1);
e.Graphics.DrawRectangle(Common.FromCustomStyle.CustomFormBorder(),0, 0,this.Width -1, this.Height - 1);
}

 

2.Panel移动可拖动窗体

 

using System;
using System.Collections.Generic;
using System.Linq;
using System.Runtime.InteropServices;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;

namespace Common
{
public static class FromCustomStyle
{
///<summary>

///拖动Panel窗体移动

///</summary>

///<param name="form1">窗口实例</param>

///<param name="panel1">要拖动的Panel</param>

///<summary>

///拖动Panel窗体移动

///</summary>

///<param name="form1">窗口实例</param>

///<param name="panel1">要拖动的Panel</param>

public static void MoveForm(Form form1, System.Windows.Forms.Panel panel1)

{
ReleaseCapture();
SendMessage(form1.Handle, WM_SYSCOMMAND, SC_MOVE + HTCAPTION, 0);//*********************调用移动无窗体控件函数
}

//定义无边框窗体Form

[DllImport("user32.dll")]//*********************拖动无窗体的控件

public static extern bool ReleaseCapture();

[DllImport("user32.dll")]

public static extern bool SendMessage(IntPtr hwnd, int wMsg, int wParam, int lParam);

public const int WM_SYSCOMMAND = 0x0112;

public const int SC_MOVE = 0xF010;

public const int HTCAPTION = 0x0002;

}
}

 

标签:int,System,窗体,using,GDI,Panel,public,Winform
From: https://blog.51cto.com/51souta/5805041

相关文章