zoukankan      html  css  js  c++  java
  • WinForm控件学习笔记【第一天】——Control类

       感悟:明天就又是学校双选会的日子了。两年我都参与了学校的双选会的服务工作,现在该是双选会服务的我时候了。怎么样找到一份好的工作,或者说怎么样学习才能符合企业对人才的要求,我现在也是很迷茫。平时都是在看似忙碌,每天敲代码,随着自己的兴趣去学习,也不知道自己现在是个什么水平,也许明天去双选会面试一番就都更清晰一些。

      两年了,敲了两年的代码了,这期间会逐渐的形成了自己的学习风格,可是有一样我觉明确的知道,学习总结这是很重要的,可我却没有做好,看看之前发过的随笔就知道了。对于C#的基础语法已经很熟悉了(PS:按企业要求我要说精通C#语法了)。

      在学校的网络中心,有自己的桌子,晚上就自己,很好的学习环境。打算每天晚上写一篇学习总结。现在就开始吧,Let’s Go!

      System.Windows.Control 几乎是每个控件和窗体的基类,派生自 System.ComponentModel.Component 类。Control类为它提供了一个很长的功能列表,就是绝大多是控件所共有的一些属性。

      大小和位置

    属性名

    属性值

    备注

    Height

    Int

     

    Width

    Int

     

    Top

    Int

     

    Bottom

    Int

     

    Left

    Int

     

    Right

    Int

     

    Size

    Size

    Size结构包含X、Y坐标

    Location

    Point

    Point结构包含X、Y坐标

    Dock

    DockStyle

    确定子控件停放在父控件哪条边

    Anchor

    AnchorStyles

    把子控件的一条边锚定到父控件的一条边

      用法与用例:

      设置窗体启动位置居中:

            private void Form1_Load(object sender, EventArgs e)
    
            {
    
                this.Left = (Screen.PrimaryScreen.WorkingArea.Width - Width) / 2;
    
                this.Top = (Screen.PrimaryScreen.WorkingArea.Height - Height) / 2;
    
            }
    

     
      和

                this.StartPosition = System.Windows.Forms.FormStartPosition.CenterScreen;
    

      Dock设置与效果:

     

      设计代码,在Form1.Designet.cs文件里面

                this.textBox1.Dock = System.Windows.Forms.DockStyle.Top;

      外观

    属性名

    属性值

    备注

    BackColor

    Color

    背景色

    ForeColor

    Color

    前景色

    BackGroundImage

    Image

    背景图像

    BackColorImageLayout

    ImageLayout

    设置控件的显示方式

    Font

    Font

     

    Text

    String

     

      用法与用例:

      1.如果同时设置了窗体或控件的背景色和背景图像则显示背景图像,注意有的控件是没有背景图像这个属性的。

      2. 设置控件的显示方式这一属性,ImageLayout是一个枚举类型“Center、Tile、Stretch、Zoom、None”,用的还算多。

      3.Font和Text一般要先在属性里设置好实际运行过程中Text的赋值会用的很多,Font基本不会变。

      用户交互操作

    常用事件

    备注

    Click

    鼠标单击事件

    DoubleClick

    鼠标双击事件

    KeyDown

    按下按键事件

    KeyPress

    控件具有焦点用户释放按键事件

    KeyUp

    释放按键事件

    MouseDown

    鼠标按下

    MouseUp

    鼠标释放

    MouseEnter

    鼠标进入控件可见区域

    MouseLeave

    鼠标离开控件可见区域

    MouseHover

    鼠标进入控件可见区域静止一段时间后

      用法与用例:

      1.触发鼠标双击事件一定会先触发鼠标单击事件。

      2.MouseDown和MouseUp会把MouseEventArgs作为其参数。其中MouseEventArgs包含单击的按钮、按钮被单击的次数、鼠标制动器的数目和鼠标当前的X、Y坐标。需要处理这些信息就不能用Click和DoubleClick事件。

      3.对应的KeyPress事件接收一个KeyPressEventArgs,它包含被按键的字符值KeyChar。

     

      Windows功能

      支持与Windows交互操作的功能包括Handle和IsHandleCreated属性。Handle属性返回一个包含控件Windows句柄的IntPrt。窗口句柄是唯一表示窗口的一个很难懂的值,用到的地方很多。

      为了访问Windows消息,可以重写WndProc()方法。该方法把一个Message对象作为其参数。Message对象是Windows消息的一个简单封装器,用到的次数很多。

      其它功能

      数据绑定……

      Invalidate()方法可以重绘失效区域……

      等等,还有很多就先不说了,以后慢慢写。明天会写一些控件的用例,这个写这应该会舒服些。

  • 相关阅读:
    5.单表查询
    3.数据类型1
    3.数据类型2
    mysql用户操作和权限管理
    【剑指Offer】面试题27. 二叉树的镜像
    【LeetCode】160. 相交链表
    【剑指Offer】面试题52. 两个链表的第一个公共节点
    【LeetCode】206. 反转链表
    【剑指Offer】面试题24. 反转链表
    LeetCode题解分类汇总(包括剑指Offer和程序员面试金典,持续更新)
  • 原文地址:https://www.cnblogs.com/zxlovenet/p/3377201.html
Copyright © 2011-2022 走看看