c#winform自定义窗体(含源码)
第一步:首先引用DLL
再窗体中继承DevComponents.DotNetBar.OfficeForm
public partial class MainForm : DevComponents.DotNetBar.OfficeForm
初始化程序中添加 this.EnableGlass = false;
public MainForm(){this.EnableGlass = false;InitializeComponent();}
第二步:重绘标题栏
this.FormBorderStyle = FormBorderStyle.None;
先将原生窗体设置成无边框,FormBoderStyle设置成None
然后添加一个panpel控件设置成窗体的的标题栏,并将panel的dock属性设置为Top;
然后添加四个labell控件充当标题和最小化最大化关闭按钮。
此时界面的原型就出来了。
第三步:最小最大关闭事件
注册事件
this.panelEx1.MouseDown += panel1_MouseDown;this.MouseDown += MainForm_MouseDown;
为事件添加处理方法
private void MinFormLabel_Click(object sender, EventArgs e){this.WindowState = FormWindowState.Minimized;}private void MaxFormLabel_Click(object sender, EventArgs e){if (this.WindowState != FormWindowState.Maximized){this.WindowState = FormWindowState.Maximized;}else{this.WindowState = FormWindowState.Normal;}}private void CloseFormLabel_Click(object sender, EventArgs e){this.Close();}
第四步:窗体拖动
[DllImport("user32.dll")]public static extern bool ReleaseCapture();[DllImport("user32.dll")]public static extern bool SendMessage(IntPtr hwnd, int wMsg, int wParam, int lParam);private const int VM_NCLBUTTONDOWN = 0XA1;//定义鼠标左键按下private const int HTCAPTION = 2;private void MainForm_MouseDown(object sender, MouseEventArgs e){//为当前应用程序释放鼠标捕获ReleaseCapture();//发送消息 让系统误以为在标题栏上按下鼠标SendMessage((IntPtr)this.Handle, VM_NCLBUTTONDOWN, HTCAPTION, 0);}private void panel1_MouseDown(object sender, MouseEventArgs e){//为当前应用程序释放鼠标捕获ReleaseCapture();//发送消息 让系统误以为在标题栏上按下鼠标SendMessage((IntPtr)this.Handle, VM_NCLBUTTONDOWN, HTCAPTION, 0);}
运行结果如下:
百度网盘下载链接:
链接:https://pan.baidu.com/s/1jI5bo3LxGM2HmJsouK8oMw
提取码:c7ne
技术群: 需要进技术群学习交流的请添加小编微信,切记备注:加群,对U上内容有什么疑问也可以直接和小编直接沟通交流!
小编微信:mm1552923
公众号:dotNet编程大全
c#winform自定义窗体(含源码)相关推荐
- console.log打印:自定义样式(含源码、效果图)
console.log打印:自定义样式(含源码.效果图) 效果图 · 示下: 案例 · 代码如下: 使用说明: 真的可以实现控制台打印出来的内容:有不同的font-size.不同的color.不同的渐 ...
- Flutter 组件之 Flutter高级自定义TabBar(教程含源码)
实战需求 Flutter 组件之 Flutter高级自定义TabBar(教程含源码) 本文价值与收获 看完本文后,您将能够作出下面的界面 实战代码 import 'package:flutter/ma ...
- SwiftUI 动画大全之 五彩纸屑特效含三角形、五星、钻石与自定义图像 (教程含源码)
实战需求 SwiftUI 动画大全之 五彩纸屑特效含三角形.五星.钻石与自定义图像 (教程含源码) 下雨了,五彩纸屑!SAConfettiView是向您的应用程序添加有趣.多彩的五彩纸屑并让用户感到有 ...
- 原文地址:一共470多例winform 界面特效的源码
转载自:http://blog.sina.com.cn/s/blog_6cad1bf401013pnx.html 一共470多例winform 界面特效的源码. 窗体与界面设计... 9 实例001 ...
- 一共470多例winform 界面特效的源码
http://blog.sina.com.cn/s/blog_69dcf6a80100uakc.html 一共470多例winform 界面特效的源码. 窗体与界面设计... 9 实例001 带历史 ...
- 470例 Winform界面特效的源码
一共470多例winform 界面特效的源码. 窗体与界面设计... 9 实例001 带历史信息的菜单 10 实例002 菜单动态合并 12 实例003 像开始菜单一样漂亮的菜单... 14 实例00 ...
- python视频网站项目_Python开发教育网站项目实例教学(105集视频课程含源码)
Python开发教育网站项目实例教学(105集视频课程含源码)课程简介: Python开发教育网站项目实例教学(105集视频课程含源码)通过这105集Python实例视频课程的学习,学员可以掌握到使用 ...
- Eatting外卖基于瑞吉外卖代码全功能优化含源码
Eatting外卖基于瑞吉外卖代码全功能优化含源码 文章目录 项目的最终部署 源码地址 github:[源码地址](https://github.com/yangxingyue0623/Eating_ ...
- JAVA实训项目:银行网银系统管理平台(含源码)
JAVA实训项目:银行网银系统管理平台(含源码) 文章目录 JAVA实训项目:银行网银系统管理平台(含源码) 前言 一.项目功能需求描述以及相关技术的应用 相关技术应用 二.设计过程 系统流程图 1. ...
最新文章
- 一起学nRF51xx 2 - clock
- python 手动读取cifar10_Python搞定Excel,秒解决!大大提高工作效率
- 李幸原:看好实时音视频在教育与医疗的前景
- Linux学习笔记5
- Eclipse StartExplorer插件
- Qt4_实现自定义模型
- Google Chrome,另类的邪恶垄断?
- 软件外包的话居然会有这样的后果...
- 关于MFC中CSpinButtonCtrl控件
- java面向对象--对象初始化
- poj 3264 Balanced Lineup RMQ问题
- C与指针——指针(一)
- 联想Thinkpad sl400 7HC入手感觉
- 职业规划路线(研究生阶段)
- PHP程序判断男女身高体重是否,最新男女标准体重对照表,快来看看你达标了没?...
- 设计模式之装饰者模式
- import math java_java 中 Math类
- 马哥教育42期第五周作业
- 强光手电充电快才能持久使用(LDR6328S)
- 一文了解51PCB的高精密HDI工艺详解