C#常用知识点

  • 格式:doc
  • 大小:90.50 KB
  • 文档页数:14

初步

1、Visual C# 2008是真正的面向对象语言

2、哪种Visual C# 项目创建标准的 Windows 程序? —— Windows 窗体应用程序

3、要修改对象(窗体或控件)的属性,应使用哪个设计窗口? —— “属性”窗口

4、要修改项目的属性,必须在哪个设计窗口中选择项目? —— “解决方案资源管理器”窗口

5、哪种帮助功能根据你当前执行的操作调整显示的帮助信息? —— 动态帮助

项目、程序、解决方案

·项目 —— 构成程序或组件的源文件的集合

·程序 —— 将源文件编译成Windows可执行文件(. Exe)而创建的二进制文件。

·解决方案 —— 实现某一目标的所有项目的集合

·用户保存项目时,Visual C# 默认将为项目创建一个解决方案。打开解决方案时,将加载该解决方案中的所有项目

类 —— 用于创建对象的模板(用于放置方法的实体称为类)

·VC# 不支持全局方法,只支持类方法

·类的属性和方法可以是实例成员或静态成员

·静态方法通过类访问,而非静态方法(也成实例方法)通过类的实例访问

·静态方法 —— 通过创建静态方法,可以在项目的任何地方通过类本身访问改方法,而不需要通过类实例化一个对象

·封装 —— 将数据和代码整合到一个实体(对象)中的过程

·由类生成的对象是数据和代码的封装体 —— 使用类来封装数据和代码

·对象包含其数据和代码,这也是面向对象编程的优点之一

绑定:

·接口成员的解析发生在对象变量与对象绑定时,绑定有两种形式:早期绑定、晚期绑定

·通常早期绑定要优于晚期绑定

·晚期绑定:将变量定义为 object 数据类型时,变量于对象的绑定就是晚期绑定

·晚期绑定时,绑定发生在运行阶段,此时变量被设置为对对象的引用

·早期绑定:发生在将变量声明为特定类型的对象,而不是 object 时。

·早期绑定发生在编译阶段

接口 —— 面向用户的功能集(实质上就是定义方法、属性和事件的代码例程)

·接口是抽象成员的集合,这些抽象成员可以使抽象的属性、方法、索引器、事件等。接口是实现多继承的工具,一个类可以继承多个接口,从而获得多个行为的描述,将他们组合成新的功能并在类中实现

·接口是一组暴露的功能

·接口是客户和对象之间的桥梁

·接口由一个或多个属性、方法、事件成员组成(成员的集合)

·属性和方法是最常用的接口成员

·对于自定义事件,可以完全控制以下信息:事件名、传递给事件的参数、事件何时触发

·接口成员必须为public可访问性

·接口不能定义构造函数

·接口中不允许定义字段

·不能向成员或接口自身附加安全性权限

·不能使用 staic virtval abstarct sealed 来定义

C#类和接口的区别

·接口是负责功能的定义,项目中通过接口来规范类,操作类以及抽象类的概念

·而类负责功能的具体实现

·接口是一个行为规范,里面所有东西都是抽象的

·抽象类是一个不完全的类,里面有抽象的方法、属性,也可以有具体的方法和属性,需要进一步专业化

·一个类可以继承多个接口,但只能继承一个基类

·将对象的特征暴露为属性:

private int privatevalue;

public int 属性名

{

get { return privatevalue;} // 用 get 结构创建可读的属性

set { privatevalue = value; } // 用 set 结构创建可写的属性

}

·创建只读属性 —— 在属性过程中省略 set 结构(创建只写属性则省略 get 结构)

·在类中存储属性的内部值的最佳方法是 —— 将内部值存储在一个类级私有变量中

·将函数暴露为方法:

Public long 函数名(参数,参数)

{ return 函数值 }

对象 —— 将数据和功能封装为一体的编程结构

·C# 项目中几乎所有的元素都是对象,并属于一个对象的集合,最常用的是窗体对象和控件对象;

·公开访问对象的唯一方法是通过该编程环境的接口(属性、方法和事件)

·所有的对象都有自己的特征(属性);大部分对象都有方法;很多对象具有事件

· 实例化 表示根据类(模板)创建一个新对象

·使用 对象浏览器 查看对象成员

·根据类生成的每个对象都有自己的模块级数据

·根据类实例化对象 —— 类名 对象名 = new 类名()

·解除对象的引用:

① 当变量超出其作用域时将被销毁,对象变量同样如此

② 将对象变量设置为 null (最佳方法) objMyObject = null

集合 —— 一组相似的对象称为集合

· 集合有自己的属性和方法

属性 —— 定义对象状态的特征称为属性

·只可以读取而不能修改的属性称只读属性

·要修改属性的值,必须在等号的 左边 引用属性

·对象的属性可以是另一对象

·属性的引用:对象名·属性名

方法 —— 对象的外部函数称为方法

·可将方法视为函数——这正是方法的本质

·两种类型的方法 —— 返回值的方法、不返回值的方法

·声明一个方法

·成员类型 返回值类型 方法名(参数,参数)

·方法名不应是关键字,也不应使用空格

·定义为私有成员可以有效避免同一个作用域中的方法冲突

·方法的调用(触发):对象名·方法名(参数,参数)

·方法调用必须总是含有括号,有时括号是空的,有时括号内包含要传递给方法的数据

·调用语句传递给方法的数据称为 参数 ,多个参数用逗号隔开

·递归 —— 一个或一组过程以循环的方式不断互相调用称为递归

·退出方法 —— return语句,方法中遇到return语句,立即返回到调用方法的语句。(即可随时利用return语句离开方法)

·静态方法 —— 属于整个类的方法,而不属于根据类生成的对象

成员类型 static 返回值类型 方法名()

·如果方法声明为静态成员,则不必实例化对象,只需一类名为前缀调用该方法

事件

·触发事件的方法:

① 用户与程序交互 —— 如:单击按钮触发其Click事件

② 对象在需要时可触发自己的事件 —— 如:定时器每隔一段时间触发其Timer事件

③ 操作系统可以触发事件

④ 使用Visual C# 代码调用事件以触发他们,这与调用方法一样

·按钮(Button)默认的事件是 —— Click事件

·在项目的一个空文本框中输入“Ozric Tentacles!”,TextChanged事件将被触发16次(每输入一个字符就触发一次)

·在事件中编写代码,是的该事件被触发时,将导致事件不断被触发,这种情况称为什么?

—— 递归

·所有控件事件都传递一个对触发事件的控件的引用。保存这个引用的参数的名称是什么?

—— sender(object类型)

窗体:

·模态窗体:显示时,同一程序中的其他窗体将不能使用

·非模态窗体:不会导致其他窗口不能使用实例化窗体

·SDI:单文档界面,每个窗体与其他窗体平等,不存在层次关系

·MDI:多文档界面,存在一个父窗体和多个子窗体

·实例化窗体:formclassname objectvariable = new formclassname ()

formclassname :定义该窗体的类的名称

objectvariable :在代码中使用的窗体名

窗体的属性

·(Name) —— 修改窗体的名称

·Text —— 在窗体的标题栏中显示文本

·BackColor —— 改变窗体的背景色(名称为 Control 的是一种背景颜色)

·BackgroundImage —— 将图像添加到窗体背景中

·Icon —— 为窗体添加图标

·ControlBox —— 设置为Ture时为窗体添加“最大化”“最小化”“关闭”按钮

·FormBorderStyle —— 修改窗体的外观(选择一种情况作为此属性值)

·MinimizeBox(MaximizeBox) —— 设置窗体最大(小)化的大小,设为False 时隐藏最大(小)化按钮

·StartPosition —— 指定窗体的初始位置

推荐位置:主窗体设置为CenterScreen,其他窗体设置为CenterParent

·WindowState —— 以不同的状态(正常、最大化、最小化)显示窗体

·ShowInTaskbar —— 改为 False时防止窗体在任务栏中出现

·IsMdiContainer —— 改为 True时使窗体为MDI父窗体

·TopMost —— 改为True时创建位于最前面的非模态窗口

·Opacity —— 修改窗体透明度

·AutoScroll —— 改为 True时创建可滚动的窗体

·Visible —— 设置为False时隐藏窗体(不释放内存资源);为True时显示隐藏的窗体

·AcceptButton —— 设置接受按钮 (不论焦点在哪个控件,当用户按回车键时将触发接受按钮的Click事件)

·CancelButton —— 设置取消按钮(不论焦点在哪个控件,按esc键时触发其click事件)

窗体的方法:

·Show()—— 显示窗体( 窗体名 . Show()或:窗体名. Visible = true )

·Hide()—— 隐藏窗体(或Visible 设为False)

·Close()—— 关闭窗体:this . Close ()(从内存中卸载)

·ShowDialog()—— 要将窗体显示为模态窗体

·Show()—— 将窗口显示为非模态窗体

使用网格 —— “工具”->“选项”对话框

·GridSize —— 决定网格在水平和竖直方向上的粒度,单位为像素

·ShowGrid ——决定了在设计器的窗体上是否显示(隐藏)网格点

·SnapToGrid —— 决定是否使用网格

·LayoutMode —— 决定设计器将用户移动的控件对齐到网格还是其他控件

“布局”工具栏包括的的作用

① 对齐控件

② 使选中的控件大小相同(等宽或等高)

③ 使选中控件垂直或水平方向间距相等

④ 将选中的控件移动

⑤ 为控件设置Tab键顺序

控件的属性和相关:

·Anhor —— 锚定控件和自动调整控件的大小 —— 属性

·TabIndex —— 决定Tab键顺序(值为0的控件是窗体显示时获得焦点的控件)

·TabStop —— 改为 False时将控件从Tab键顺序中删除

·将“工具箱”中的控件添加到窗体中的方法 —— ① 双击控件 ② 单击拖拽 ③ 复制粘贴 ④ 单击工具箱的工具然后再窗体中绘制它

·如果双击工具箱中的工具,它将放在窗体的哪一个位置?

—— ① 放在当前选中的容器控件上;

② 如果没有选中控件,则放在窗体的左上角

③ 运行时不可见的控件添加在设计器底部,而不是窗体中

·在一系列选中的控件中,第一个选中的控件总是活动的控件

容器 —— 可以包含控件的对象

·窗体是容器