Timer。每隔一段时间触发一个事件。不可视控件。Interval、Enabled。Tick事件。计量单位:ms(毫秒)。 1秒=1000毫秒。取当前时间 DateTime.Now.ToString()。pictureBox1.Load(@"D:\www\mm\00_01.jpg")。
i.ToString("00")
GDI+:命名空间:System.Drawing;(基本绘图操作)。Graphics对象,可以理解为一只画笔,要在哪个控件上绘图,就要得到对应控件的Graphics对象(就是获得对应控件的绘图表面)。获得Graphics对象一般有两种方式:1.控件.CreateGraphics()//通过该方式创建后要调用g.Dispose()方法释放资源。2.在重写OnPaint()方法中通过参数PaintEventArgs e.Graphics;来获得,一般使用为Paint事件中。//通过这种方式一般不需要手动调用Dispose();区别OnPaint()与窗体的Paint事件。(画一些简单图形)
什么样类型的对象需要使用完成后Dispose()?答:Pen,Brush,Font,Image,Ico,FileStream(文件操作),网络操作等。 (在这些类中封装了一些操作系统的资源)//Pens.XXX或Brushes.XXX等不需要,手动创建的才需要。强行释放资源会出错.
虚方法:使用virtual关键字修饰,使用virtual关键字修饰的方法在本类中必须有实现,哪怕是空的{}。虚方法存在的意义就是为了让子类重写。子类可以重写,也可以不重写。方法重写:只有用virtual、abstract、override修饰的方法在继承后子类可以重写。//实现方法重写的方式3个关键字
什么是方法重写?答:方法重写是指子类继承父类后在子类中有一个与父类中某个方法签名一致,但方法内容可以重新定义的方法,并用override关键字修饰。
抽象类:abstract关键字修饰;不能实例化;可以有抽象成员也可以有非抽象成员(1.有抽象成员的类必须标记为abstract,并且不能有任何实现;2.类中的抽象成员在子类中必须实现(override),除非子类也是抽象类);
virtual方法和abstract方法的区别:virtual方法子类可以override,也可以不override。Abstract标记的成员在子类中必须override,除非子类也是抽象类。
Virtual注意:1.使用virtual关键字表示方法,写在返回值的签名public virutal或virtual public2.使用virutal关键字修饰的方法必须有实现{}3.子类可以重写,也可以不重写。子类重写时使用override关键字。
注:方法重写时,方法签名必须与父类中的虚方法完全一致,否则重写不成功,其中包括“返回值”
Abstract注意:抽象类不能被实例化。如果一个类中有任何抽象成员,那么这个类也必须是抽象类abstract class。子类继承抽象类后,必须重写父类中的所有抽象成员,除非子类也是一个抽象类。抽象成员在抽象类中不能有任何实现。抽象类中可以有抽象成员也可以有非抽象成员