zoukankan      html  css  js  c++  java
  • FirstDayStart点点

    C#完全支持.NET框架通用类型系统(CTS)定义的类型,所有的类型都是用类来定义的,C#是类型安全的语言,任何不安全的类型转换都必须显示地进行,否则就不能编译。它所有的数据类型都是类。从根本来看,所有的C#类型都是从System.Object类派生来的。

    变量与常量

    堆栈:每个线程和进程都具有自己的一块儿叫做堆栈的内存,用来存放他自己私有数据,堆栈不能被其他进程或者线程访问。(类似C++中得堆)

    线程和进程是两个相关的概念,二者都表示按特定顺序执行的指令序列,然而,不同的线程或者进程中得指令可以并行执行。进程存在于操作系统内,可以看成是程序在内存中得运行实例,线程存在于进程内,是进程中得一个执行单元,因此,线程有时也称作“轻量进程”,每个进程都有一个或者多个线程组成。每个线程或者进程都有一个堆栈指针来指示当前堆栈的使用情况,当堆栈中没有内容是指针指向堆栈的最高地址,只有大小固定的数据类型才能用堆栈来保存。堆栈的性能很高,但是不太灵活,只能分配固定大小的数据类型,并且数据的生存周期必须是有序的。

    引用类型是C#中得主要类型,引用类型变量中存放的是对象的内存地址,对象的值存储在这个地址的内存中,引用类型具有如下性质:

    1 必须在托管堆中为引用类型变量分配内存。(托管堆的特点是系统负责释放)

    2 必须使用new运算符来穿件引用类型变量,new运算符返回创建对象的地址,并保存在变量中。

    3 在托管堆中分配的每个对象都有与之相关联的附加成员,这些成员必须被初始化。

    4 引用类型变量是由垃圾回收机制来管理的。

    5 多个引用类型变量可以引用同一对象,在这种情形中,对一个变量的操作会影响零一个变量所引用的同一对象。

    6 引用类型被赋值前的值都是null(null说明没有指向内存地址)

    所有被称为类类型的都是引用类型,主要包括类,借口,数组,和委托(委托是函数指针,用来传递函数的)。使用引用类型对象时,首先要在托管堆中分配内存,不需要对象时,由垃圾回收器收集和释放。

    //关键点:引用类型传递的是地址,值类型传递的是数据拷贝。

    值类型变量用来存放值,在堆栈中进行分配,因此效率很高,值类型的主要目的是为了提高程序的性能,值类型具有以下特征:

    1 值类型变量是存储在堆栈中的。

    2 访问值类型变量是,一般都直接访问其实例。

    3 每个值类型变量都有自己的数据副本,因此对一个值类型数据的操作不会影响其他变量。

    4 复制值类型变量时,复制的是变量的值,而不是变量的地址。

    5 值类型变量的值不能为null(即没有值),必须具有一个确定的值。

    值类型是冲syste.ValueType类继承过来的类型,C#的值类型包括结构和枚举,以及大部分基本类型(也成内置类型)。

    委托是函数指针。

    InitializeCo mponent()

    在每一个窗体生成的时候,都会针对于当前的窗体定义InitializeComponent()方法,该方法实际上是由系统生成的对于窗体界面的定义方法。

    窗体

    1.Form类有两个不同的显示方法ShowDialog,Show:

    ShowDialog方法以“模式”方式显示窗体,“模式”窗体将独占与系统和用户的交互权,用户的所有操作都被他控制,统一程序中得其他窗体都被他屏蔽,不能被操作,只有关闭或隐藏模式窗体之后,才能使用应用程序的其他窗体,而Show则是以无模式方式显示窗体

    消息框都是“模式”对话框,因此,调用MessageBox.Show方法会阻止对程序其他部分的操作。

     MessageBoxShow();//http://msdn.microsoft.com/zh-cn/library/system.windows.forms.messagebox.show(VS.80).aspx

    2.如果需要在出现某一事件时进行特定的操作,就需要编写特定的事件处理程序,将他包装在一个委托(通常用EventHandler)中,并将它与事件链接起来,例如:在FirstForm的构造函数中增加如下代码:

    this.FormClosing += new System.EventHandler(this.DoFormClosing);

    这样就将FormClosing事件与DoFormClosing方法链接起来了,当出现FromClosing事件(关闭窗体)时,就会首先执行DoFormClosing方法。

    SystemHandler表示处理不包含事件数据的事件的方法,其定义如下:

    public delegate void EvenHandler(Object sender, EventArgs e);

    SystemHandler定义一个没有返回值的方法,其第一个参数的类型为Object,它引用引发事件的实例,第二个参数从EventArgs类型派生,它保存事件数据。如果事件不生成事件数据,则它的第二个参数只是EventArgs的一个实例。否则第二个参数为从EventArgs派生的自定义类型,保存事件数据所需的全部字段或属性。

     

    控件

    1.控件的Anchor属性与Dock属性

     所有的控件都是直接或间接地从System.Windows.Forms.Control类派生而来的,他们都继承了Control类的Anchor和Dock属性。Anchor属性用于获取或设置控件的容器(比如窗体)边缘的绑定方式,并确定控件如何随容器一起调整大小,Dock属性用于获取或设置哪些控件边缘停靠到其容易,并确定控件如何同容器一起调整大小,Anchor属性和Dock属性是互斥的,每次只能设置一个属性,最后设置的属性优先。

    Anchor属性bottom,left,none,right,top若设置为AnchorStyle.none则控件移动的距离为控件容器所调整的大小之半,例如,控件所在位置位于的form每个方向上调整20个像素,则按钮在两个方向上都调整10个像素。

    Dock 属性bottom,fill,left,none,right,top。如果多个控件停靠在同一个边缘,那么这些控件将按照他们的Z顺序并排出现,控件在Z顺序中得位置越高,距离容器边缘就越远。如果选择了fill,则调整控件的所有四条边以匹配包含控件的容器的边缘。

    标签(label)控件用于显示用户不能编辑的文本或图像。

    文本框(textbox)控件用于获取用户输入或显示文本。textbox控件为在该控件中显示的或输入的文本提供一种格式化样式。默认情况最多可以在一个文本框中输入2048个字符,如果将Multiline属性设置为true,则最多可输入32kb的文本。通常textbox用于显示单行文本或者将单行文本作为输入接受,可以用Muitiline和scrollBars属性显示或输入多行文本。readonly只读,但是复制命令依然有效,剪切和粘贴无效,passwordchar属性设置为某个特定字符后,textbox成为密码框。

    button控件不支持双击事件,若双击,则会处理两次单机事件。

    opacity:0表示透明,1表示不透明,中间表示半透半不透程度。

     复选框checkbox控件和单选按钮Radiobutton控件:若radiobutton控件的appearence属性设置为button,则rediobutton控件的显示与命令按钮相似,选中时会显示为按下状态,通过image和imagelist属性,单选按钮还可以显示图像。

    小快捷

    Ctrl + K + C 批量注释
    Ctrl + K + U 批量取消注释

    override virtrual相当于c中得virtural

    overload相当于c中得函数重载

  • 相关阅读:
    C# TransactionScope 使用
    .Net 4.5 的async 和await 的简单理解使用
    图片的等比缩放
    IIS 8 下使用 WCF
    SQL Server 中字符串中包含字符串变量的表示方法
    jsTree 的简单用法--异步加载和刷新数据
    webService 部署以后参数输入框不能显示
    js 节点属性
    js 数组排序
    js 时间格式化 -- 时间加减实现
  • 原文地址:https://www.cnblogs.com/RightDear/p/2387434.html
Copyright © 2011-2022 走看看