using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.Drawing.Drawing2D;
using System.Runtime.InteropServices;
namespace WinDemo
{
public partial class Form5 : Form
{
public Form5()
{
InitializeComponent();
}
/// <summary>
/// Button 按钮重绘事件
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void button1_Paint(object sender, PaintEventArgs e)
{
GraphicsPath myPath = new GraphicsPath();
Rectangle rect = new Rectangle(0,0,574,362);//后面2个数据调整窗体大小
myPath.AddRectangle(rect);
this.Region = new Region(myPath);
}
[DllImport("user32.dll")]
static extern int ReleaseDC(IntPtr hWnd, IntPtr hDC);
[DllImport("User32.dll")]
private static extern IntPtr GetWindowDC(IntPtr hWnd);
protected override void WndProc(ref System.Windows.Forms.Message m)
{
const int WM_NCPAINT = 0x85;
base.WndProc(ref m);
if (m.Msg == WM_NCPAINT)
{
IntPtr hdc = GetWindowDC(m.HWnd);
if ((int)hdc != 0)
{
Graphics g = Graphics.FromHdc(hdc);
Pen pen1 = new Pen(Color.FromArgb(64,64,64));
Pen pen2 = new Pen(Color.FromArgb(128, 128, 128));
Pen pen3 = new Pen(Color.FromArgb(212, 208, 200));
g.DrawLine(pen1, 573, 0, 573, 360);//最外边
g.DrawLine(pen2, 572, 1, 572, 359);//最外边第二条白色
g.DrawLine(pen3, 571, 2, 571, 359);
g.DrawLine(pen3, 571, 2, 571, 359);
g.Flush();
ReleaseDC(m.HWnd, hdc);
}
}
}
private void Form5_MouseCaptureChanged(object sender, EventArgs e)
{
Graphics g = this.CreateGraphics();
Pen pen1 = new Pen(Color.FromArgb(64, 64, 64));
Pen pen2 = new Pen(Color.FromArgb(128, 128, 128));
Pen pen3 = new Pen(Color.FromArgb(212, 208, 200));
g.DrawLine(pen1, 573, 0, 573, 360);//最外边
g.DrawLine(pen2, 572, 1, 572, 359);//最外边第二条白色
g.DrawLine(pen3, 571, 2, 571, 359);
g.DrawLine(pen3, 571, 2, 571, 359);
g.Flush();
}
}
}
分享到:
相关推荐
Winform去掉最大化最小化关闭按钮(不是关闭按钮变灰),只此一家,自己看效果
\WINFORM\C# WinForm 最大化、最小化、关闭按钮事件的拦截
1.使窗体最大化,最小化或关闭按钮变为灰色; 2.改变窗体关闭按钮的功能 3.使关闭按钮失去作用 互动学习。。。。。
WinForm窗体跟随最大化最小化自适应C#,窗体跟随,跟随句柄, 最大化, 最小化 跟随移动 ,winform .net C#
自定义窗体的最大化、最小化和关闭按钮.zip源码C#WinForm实例源码适合研究学习技术自定义窗体的最大化、最小化和关闭按钮.zip源码C#WinForm实例源码适合研究学习技术 1.适合学生做毕业设计参考模板。 2.适合程序员...
自定义窗体的最大化、最小化和关闭按钮, C#移动无标题栏窗体的三种代码: C#移动无标题栏窗体的三种代码:第一种采用,需注意窗体上的控件是否把窗体覆盖了。。。MouseDown、MouseMove、MouseUp事件应该是鼠标所...
主要介绍了C# Winform实现捕获窗体最小化、最大化、关闭按钮事件的方法,可通过重写WndProc来实现,需要的朋友可以参考下
WinFrom点击关闭按钮时提示关闭或最小化的实现..
摘要:C#源码,菜单窗体,窗体美化 C#自定义窗体的最大化、最小化和关闭按钮,实际上是对窗体进行美化,一个简单的美化窗体的小例子,把背景图像应用到窗体上,同时使用JPG图像代替窗口上默认的最大化、最小化和关闭...
实现winform软件最小化到系统托盘,防止程序被失误关闭,导致程序无法继续运行。 实现功能:程序启动后,可点击程序关闭按钮,程序自动收缩至右下角的系统托盘。 使用语言:C# 运行环境:windows 注意事项: 1.编译...
C#Winform左侧伸缩菜单实现
Winform的MDI父窗体中的子窗体最大化后消除子窗体在父窗体菜单栏中的图标。
关于C#WinForm FlowLayoutPanel 最小化还原问题解决方案.
实现winform应用程序窗体最小化到任务栏托盘。
winform左侧菜单。
开发应用软件UI的500多个16X16,32X32的图标
利用tabcontrol实现winform子窗口切换,且为tabpage添加关闭
winform最小化到任务栏,两种方式。可以自行修改
在Winform窗体中,通过组合使用Panel,Button与TreeView三个控件,来实现窗体菜单栏的自定义效果。
winform C# 窗体仿酷狗关闭特效,拉伸,动画效果