制作自定义窗体:
首先去除边框用 this.FormBorderStyle = FormBorderStyle.None;
设置基本属性(大小,位置);
然后利用对象的实例化创建新对象 Panel title = new Panel();
插入背景图片:
this. BackgroundImage = Image.FromFile("…/…/Image/名字");
将新对象添加进font中:
this.Controls.Add(新对象名);
对图片进行编辑:
title.BackgroundImageLayout = ImageLayout.Stretch;
添加第二个对象进入font时,避免和第一个对象重合,需要用新窗体的height减去第一个对象的height;并且注意其Top值;
在代码中添加事件的方法:
对象名.事件+=Tab Tab;例:
事件中两个参数e、sender,e参数代表事件相对应的数据对象;
控制窗体移动:
自身坐标:相对于父级容器的坐标:例:
当鼠标点击panel时的坐标,也就是鼠标在窗体中的坐标:
Point cilckPoint;
cilckPoint = new Point(e.X,e.Y);
移动的时候,其实就需要控制Form的位置跟着变化
前提是必须保证鼠标以及按下
世界坐标:相对于屏幕的坐标例:
鼠标在屏幕中的位置:Point currentPosition: = MousePosition;
窗体在屏幕中的位置:this.Location = new Point(currentPosition.X-cilckPoint.X,currentPosition.Y-cilckPoint.Y);
窗体靠近边缘隐藏:
if小括号中的条件语句结果是true或者false,里面填写bool类型数据
使用这个变量当做标记,标记鼠标按下时是true
bool isDown = false;
代表窗体目前的一个状态,如果是true代表处于显示状态,只有是false的时候才可以隐藏
在程序刚开始的时候默认是可以隐藏
bool isShow = false;
[在这里插入图片描述](https://img-blog.csdnimg.cn/20181028225750974.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dlaXhpbl80MzQzNzIwMg==,size_27,color_FFFFFF,t_70)