- 51Aspx源码必读.txt[3KB]
- SkinForm\AntiAliasGraphics.cs[997B]
- SkinForm\ControlBoxManager.cs[16KB]
- SkinForm\ControlBoxState.cs[536B]
- SkinForm\ControlBoxStyle.cs[531B]
- SkinForm\ControlPaintEx.cs[9KB]
- SkinForm\GraphicsPathHelper.cs[5KB]
- SkinForm\MouseOperate.cs[536B]
- SkinForm\NativeMethods.cs[14KB]
- SkinForm\RenderHelper.cs[8KB]
- SkinForm\RoundStyle.cs[1KB]
- SkinForm\SkinForm.cs[20KB]
- SkinForm\SkinForm.csproj[3KB]
- SkinForm\SkinFormBackgroundRenderEvent.cs[1KB]
- SkinForm\SkinFormBorderRenderEvent.cs[1KB]
- SkinForm\SkinFormCaptionRenderEvent.cs[1KB]
- SkinForm\SkinFormColorTable.cs[3KB]
- SkinForm\SkinFormControlBoxRenderEvent.cs[1KB]
- SkinForm\SkinFormProfessionalRenderer.cs[19KB]
- SkinForm\SkinFormRenderer.cs[5KB]
- SkinForm\obj\SkinForm.csproj.FileList.txt[138B]
- SkinForm\Properties\AssemblyInfo.cs[1KB]
- SkinFormDemo\AboutBoxCSharpWinDemo.cs[5KB]
- SkinFormDemo\AboutBoxCSharpWinDemo.Designer.cs[13KB]
- SkinFormDemo\AboutBoxCSharpWinDemo.resx[25KB]
- SkinFormDemo\FormCSharpWinDemo.cs[3KB]
- SkinFormDemo\FormCSharpWinDemo.Designer.cs[6KB]
- SkinFormDemo\FormCSharpWinDemo.resx[12KB]
- SkinFormDemo\PanelEx.cs[2KB]
- SkinFormDemo\Program.cs[484B]
- SkinFormDemo\SkinFormDemo.csproj[5KB]
- SkinFormDemo\SkinFormTest.cs[522B]
- SkinFormDemo\SkinFormTest.Designer.cs[5KB]
- SkinFormDemo\SkinFormTest.resx[5KB]
- SkinFormDemo\obj\SkinFormDemo.csproj.FileList.txt[549B]
- SkinFormDemo\Properties\AssemblyInfo.cs[1KB]
- SkinFormDemo\Properties\Resources.Designer.cs[3KB]
- SkinFormDemo\Properties\Resources.resx[6KB]
- SkinFormDemo\Properties\Settings.Designer.cs[1KB]
- from.gif[4KB]
- SkinFormCD.png[20KB]
- SkinFormDemo.sln[1KB]
- SkinFormRendererCD.png[23KB]
- 最新Asp.Net源码下载.url[123B]
- Dll\ButtonEx.dll[28KB]
- Dll\LoadingProgress.dll[32KB]
- SkinFormDemo\Logo.jpg[7KB]
- SkinFormDemo\mlogo.gif[5KB]
- SkinFormDemo\SystemMenu.dll[20KB]
- SkinFormDemo\bin\Debug\SkinFormDemo.vshost.exe[11KB]
- SkinFormDemo\bin\Debug\SkinFormDemo.vshost.exe.manifest[490B]
- SkinFormDemo\obj\Debug\TempPE\Properties.Resources.Designer.cs.dll[4KB]
- SkinFormDemo\Properties\Settings.settings[249B]
源码介绍
WinForm个性窗体源码
SkinForm的实现原理:
1、 把Form设置为无标题栏窗口。
2、 为了使Form可以像标准的Windows窗体那样拥有系统菜单和拖动改变窗体大小,加入WS_THICKFRAME和WS_SYSMENU窗体样式。
3、 处理相应得窗体消息,实现窗体的标准操作。
4、 实现SkinFormRenderer,绘制窗体的标题栏、边框、按钮等。
原理只做简单介绍,要详细说明,那得写很多东西了,介绍一下SkinForm中加入的几个属性的功能:
1、 BorderWidth,设置或获取窗体的边框的宽度。
2、 CanResize:设置或获取窗体是否可以改变大小。
3、 CaptionFont:设置或获取窗体标题的字体。
4、 CapntionHeight:设置或获取窗体标题栏的高度。
5、 CloseBoxSize:设置或获取关闭按钮的大小。
6、 MinimizeBoxSize:设置或获取最小化按钮的大小。
7、 MaximizeBoxSize:设置或获取最大化(还原)按钮的大小。
8、 ControlBoxOffset:设置或获取控制按钮的偏移。
9、 ControlBoxSpace:设置或获取控制按钮的间距。
10、 RoundStyle:设置或获取窗体的圆角样式。
11、 Radius:设置或获取窗体的圆角的大小。
12、 Renderer:设置或获取窗体的绘制方法。
接下来介绍窗体的绘制类SkinFormRenderer,这是比较重要的类,它是一个抽象类,重写它里面的绘制方法,就可以得到新的窗体皮肤。这个类里面主要有几个抽象方法:
1、 CreateRegion:创建一个Region,提供给SkinForm使用。
2、 OnRenderSkinFormCaption:绘制窗体标题栏。
3、 OnRenderSkinFormBorder:绘制窗体边框。
4、 OnRenderSkinFormBackground:绘制窗体背景。
5、 OnRenderSkinFormControlBox:绘制窗体控制按钮(最小化、最大化、关闭);
下单记录
用户名 | 源码评分 | 成交价 | 下单时间 | 订单状态 |
---|