摘要:
A、 在设计界面时,常常遇到这样的困惑:在一定大小的窗体上,控件布局良好,然而当用户将窗体的大小改变后,界面就变得不堪入目了。 · 停靠 停靠是指控件具有停靠在窗体某一边上的能力,无论窗体的大小怎么变化,控件总是会自动调整大小和位置以保持停靠不变。通过设置控件的Dock属性,就可以使得该控件具有停靠能力了,Dock属性的设置有些特别,是一种非常直观的方式。通过设置D... 阅读全文
摘要:
接口类似于类,它可以包含方法、属性、事件和索引器,但是接口中只有成员的声明,接口本身不提供对它所声明的成员的实现。例如,在接口中只有方法的声明,而没有定义方法体,这一点与抽象类中的抽象方法类似。 一个接口定义一个协定,实现某接口的类或结构须遵守该接口定义的协定。例如,某个接口定义了两个方法,则要实现该接口的类必须定义这两个方法的实现,即编写它们的方法体。 例: using System;... 阅读全文
摘要:
在C#中,结构可以看做是简化了的类。结构基本与类相同,也可以有属性、方法、构造函数等成员,但结构更适用于定义单纯的数据结构。例如,定义一个点的坐标。 结构声明使用关键字struct 在使用结构时需要注意: 1、 不能为结构定义无参数的构造函数。总是使用默认构造函数以将结构成员初始化为它们的默认值。 2、 不能在声明字段时为字段赋值,而是要在带参数的构造函数中初始化它们的值。 3、 结构不支持继承。... 阅读全文
摘要:
C#通过提供索引器(indexer),使得用户可以像处理数组一样对对象使用下标。索引器为我们提供了通过索引方式访问类的数据的方法。例: using System; namespace suoyinqi{ class Vector { private double x,y,z; public double this[int i]//定义索引器,使得可以使用数... 阅读全文
摘要:
C#中预定义的运算符的操作对象只能是基本数据类型。实际上,对于许多用户自定义类型(例如类),也需要类似的运算操作。这时就必须在C#中重新定义这些运算符,赋予已有运算符新的功能,使它能够用于特定类型执行特定的操作。 运算符重载实质上是函数重载。在表达式中,使用运算符表示法(即符号)来引用运算符,而在声明中,使用函数表示法来引用运算符。 运算符重载是通过创建运算符函数来实现的,运算符函数定义了... 阅读全文
摘要:
事件是windows编程中很重要的一个概念。 在事件通信机制中,事件发送方不知道哪个对象或方法将接收到它引发的事件以及进行什么样的响应,它只是将“事件发生了”这个消息广播出去。 在C#中,事件机制是借助委托来实现的,我们可以通过实例来认识事件。 如同字段、属性、方法等一样,事件也是类的成员。 关键字event用来定义事件,并且在定义事件时,要使用到事先定义好的一个委... 阅读全文
摘要:
多点委托 前面使用的委托只代表一个方法,下面来看看多点委托,就是一个委托代表多个方法,调用多点委托时,所代表的所有方法将按顺序依次调用。 MyDelegate d1 = new MyDelegate(MyClass.Square); MyDelegate d2 = new MyDelegate(MyClass.Cube); MyDelegate d3 = new MyDelegate(MyCl... 阅读全文