zoukankan      html  css  js  c++  java
  • 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

      

          

         

       

      

      

  • 相关阅读:
    BNU 51002 BQG's Complexity Analysis
    BNU OJ 51003 BQG's Confusing Sequence
    BNU OJ 51000 BQG's Random String
    BNU OJ 50999 BQG's Approaching Deadline
    BNU OJ 50998 BQG's Messy Code
    BNU OJ 50997 BQG's Programming Contest
    CodeForces 609D Gadgets for dollars and pounds
    CodeForces 609C Load Balancing
    CodeForces 609B The Best Gift
    CodeForces 609A USB Flash Drives
  • 原文地址:https://www.cnblogs.com/qingnianxu/p/6757786.html
Copyright © 2011-2022 走看看