首页 > 代码库 > 2017-4-24 winform窗体基础属性 ico图片生成 不规则窗体的移动 恶搞小程序
2017-4-24 winform窗体基础属性 ico图片生成 不规则窗体的移动 恶搞小程序
1.客户端应用程序:C/S
特点:操作用户电脑上的文件
2.窗体分类:
记事本类型 --- 窗体可以随便拖动大小
计算器类型 ---- 窗体固定大小,无最大化
无变宽类型 --- 杀毒软件
不规则类型 --- 桌面加速小球
置顶类型 --- 打开后不被其他窗体所掩盖,比如qq
3.窗体基础属性
布局:
AutoScroll -- 控件超出窗体会自动出现滚动条
location --- 窗体距离桌面左上角的距离,需要配合StartPosition中的Manual使用
MaximumSize --- 窗体最大的尺寸
MinimumSize --- 窗体最小的尺寸
Size ---- 窗体的大小
StartPosition --- 控制窗体第一次打开时候的位置
Manual --- 配合location是确定打开窗口(距离左上角)的位置
CenterScreen -- 打开的窗体,根据桌面进行居中
CenterParent --- 根据上一个窗体进行居中
WindowState --- 窗体第一个打开时候的状态(最大,最小)
窗口样式:
ControlBox --- 确定窗体是否有菜单控制栏
Icon --- 窗体啸图标
MaximizeBox --- 窗体是否有最大化图标
MinimizeBox ---- 窗体是否有最小化图标 (如果只设置一个则为灰色,2个都设置则不显示)
Opacity --- 设置窗体透明度
ShowIcon -- 设置窗体小图标是否显示
ShowInTaskbar --- 设置窗口下面任务栏是否显示
TopMost --- 设置最高层级
TransparencyKey --- 设置什么背景样色为透明
外观:
BackColor --- 背景颜色
BackgroundImage --- 设置背景图片
BackgroundImageLayout --- 设置背景图片的平铺方式
tile(瓷砖方式平铺,多个)center(一个图片居中,图片没有任何变化)
stretch(图片拉伸) zoom(图片水平居中,左右居中,上下占满)
Cursor -- 鼠标样式
FormBorderStyle --- 边框样式 none(什么也没有) FixedSingle(固定位置)
杂项:
AcceptButton --- 窗体的接受按键,设置后按下enter,相当于单击改按钮
CancelButton --- 窗体取消按键,设置后按下esc 相当于单击了该按钮
数据:
tag属性可以放任何属性
4.ico图标生成:
网址: http://www.bitbug.net/ 迅速生成
5.不规则窗体的移动
需要引用api文件
窗体移动代码:
//窗体移动API [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; [DllImport("user32")] private static extern int SendMessage(IntPtr hwnd, int wMsg, int wParam, IntPtr lParam); private const int WM_SETREDRAW = 0xB; private void Form1_MouseDown(object sender, MouseEventArgs e) { if (this.WindowState == FormWindowState.Normal) { ReleaseCapture(); SendMessage(this.Handle, WM_SYSCOMMAND, SC_MOVE + HTCAPTION, 0); } }
窗体阴影代码:
1、添加命名空间: using System.Runtime.InteropServices; 2、定义常量值及函数: private const int CS_DropSHADOW = 0x20000; private const int GCL_STYLE = (-26); [DllImport("user32.dll", CharSet = CharSet.Auto)] public static extern int SetClassLong(IntPtr hwnd, int nIndex, int dwNewLong); [DllImport("user32.dll", CharSet = CharSet.Auto)] public static extern int GetClassLong(IntPtr hwnd, int nIndex); 3、构造方法下引用: SetClassLong(this.Handle, GCL_STYLE, GetClassLong(this.Handle, GCL_STYLE) | CS_DropSHADOW);
6.恶搞小程序
源码下载:https://i.cnblogs.com/Files.aspx
2017-4-24 winform窗体基础属性 ico图片生成 不规则窗体的移动 恶搞小程序