首页 > 代码库 > 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);
    }
}
View Code

  窗体阴影代码:

技术分享
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);  
View Code

 

6.恶搞小程序

  源码下载:https://i.cnblogs.com/Files.aspx

  

 

 

 

      

     

   

  

  

2017-4-24 winform窗体基础属性 ico图片生成 不规则窗体的移动 恶搞小程序