




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、C# C# 程序设计程序设计天津师范大学 | 软件学院 1第一章 开发环境第二章 语法元素第三章 布局与自定义控件第四章 设置与资源第五章 线程第六章 菜单与对话框第七章 委托与事件第八章 图像与动画第九章 网络通信*C# C# 程序设计程序设计天津师范大学 | 软件学院 2应用程序设置 在应用程序启动时,也许需要从某个配置文件中读取各种参数用于本次的运行,比如程序的标题,并发连接的数量,默认的登录名等。 用于管理这些参数的文件称为配置文件,与其相关的一些操作称为应用程序设置。资源 在应用程序运行时,会需要大量辅助材料,如文字、图像等,这些统称为资源。资源可以与程序分开放置,也可以绑定到一个文
2、件中。 除非特殊情况,建议大家采用绑定资源的方式,这样在使用资源时可以极大避免与存储设备打交道所引起的程序异常。*C# C# 程序设计程序设计天津师范大学 | 软件学院 34.2.1 配置文件 程序启动时,其内的控件的属性值来自于一个配置文件。也就是说,修改配置文件可以导致不同的程序外观。 每个应用程序都可以附带一个 .config 文件。当程序启动时,.NET 系统会自动搜索与程序同名的后缀为 .config 的文件并加载。 .config 文件内容以 xml 格式存储。如: C# C# 程序设计程序设计天津师范大学 | 软件学院 44.2.1 配置文件 程序启动时,其内的控件的属性值来自于
3、一个配置文件。也就是说,修改配置文件可以导致不同的程序外观。 使用 .config 文件的值用于程序的示例如下:using System.Configuration;public MyForm() InitializeComponent(); AppSettingsReader r = new AppSettingsReader(); object o = r.GetValue(Opacity, typeof(double); this.Opacity = (double)o; C# C# 程序设计程序设计天津师范大学 | 软件学院 54.2.2 动态属性 当需要应用程序自动应用多个设置值时,
4、可使用控件的动态属性。控件的动态属性可以在启动程序后自动从 .config 文件里读取相应的值。 选择控件的 ApplicationSettingsApplicationSettings 属性下的 PropertyBindingPropertyBindingC# C# 程序设计程序设计天津师范大学 | 软件学院 64.2.2 动态属性 当使用过动态属性后 一个 app.config 文件放置在项目文件夹下。 生成程序后,会有一个以可执行文件为名、.config 为后缀的配置文件放置在输出文件夹下。 动态属性的值会覆盖在属性面板里设置的值。C# C# 程序设计程序设计天津师范大学 | 软件学院
5、74.3.1 功能要求 线柱根据属性值绘画。 当点击“排序”按钮时,根据上面的文字执行不同的排序算法。 思路:为程序增加动态属性: 线柱的靠边位置:(LineBase,string)“Top”,Bottom “冒泡排序”按钮的显示文字:“选择排序”和“插入排序”C# C# 程序设计程序设计天津师范大学 | 软件学院 84.3.2 实现线柱的动态属性 分析:为了可以设置线柱的靠边属性为动态属性,需要先在 DemoPanel 中公布该属性。string fLineBase = Bottom;public string LineBase get return fLineBase; set if (v
6、alue = Left | value = Bottom) fLineBase = value; C# C# 程序设计程序设计天津师范大学 | 软件学院 94.3.2 实现线柱的动态属性 分析:修改 Paint 事件将数组的值显示到控件上的方法。private void DemoZone_Paint() / 事件面板自动生成事件面板自动生成 for (int i = 0; i fData.Length; i+) e.Graphics.FillRectangle( Brushes.Red, 3 * i, fLineBase = Top ? 0 : Height - fDatai, 2, fDat
7、ai ); / 思考:实现思考:实现 Left 和和 Right。可认为控件的宽高一致。可认为控件的宽高一致。C# C# 程序设计程序设计天津师范大学 | 软件学院 104.3.2 实现线柱的动态属性 分析:修改 Repaint 方法,根据 fLineBase 值更新本控件指定位置的图像。 提示:由于 Top 和 Bottom 方法都是垂直方向的,所以此处 Repaint 方法其实并没有改变。将来如果添加水平方向的值,比如 Left 和 Right,则此处需要修改具体代码。public void RePaint(int i) Invalidate(new Rectangle(3 * i, 0,
8、 2, Height); Update();C# C# 程序设计程序设计天津师范大学 | 软件学院 114.3.2 实现线柱的动态属性 设置步骤: 选择 dpMain 控件,在属性窗口选择 ApplicationSettings 下的 ProperyBinding 项; 在弹出的窗口中,选择 LineBase 属性,在下拉列表中选择“新建”; 在弹出的窗口中的 Name 项中填写“dLineBase”(此处的名字是任意的,这里用前缀 d 表示动态属性)。 用同样的步骤为 btnSort 按钮的 Text 属性创建一个名为“dSortMethod”的动态属性。C# C# 程序设计程序设计天津师范
9、大学 | 软件学院 124.3.3 实现按钮的动态属性 分析:修改 btnSort 的 Click 事件处理方法。 提示:需要提前实现 fSelect 和 fInsert 方法。此处应在 3.4.8 中完成。private void btnSort_Click(.) if (btnSort.Text = 冒泡排序冒泡排序) fBubble(); else if (btnSort.Text = 选择排序选择排序) fSelect(); else if (btnSort.Text = 插入排序插入排序) fInsert();C# C# 程序设计程序设计天津师范大学 | 软件学院 134.3.3 实
10、现按钮的动态属性 设置步骤: 选择 btnSort 控件,在属性窗口选择 ApplicationSettings 下的 ProperyBinding 项; 在弹出的窗口中,选择 Text 属性,在下拉列表中选择“新建”; 在弹出的窗口中的 Name 项中填写“dSortMethod” 。C# C# 程序设计程序设计天津师范大学 | 软件学院 144.3.4 生成应用程序 生成程序,到输出目录内查找 .config 文件,修改其中的值后运行程序,查看不同的效果。C# C# 程序设计程序设计天津师范大学 | 软件学院 154.3.5 验证:(30分钟) 练习:(45分钟)添加几个动态属性 窗体的标
11、题 窗体的透明度(可自己查查窗体的各个属性,那个是呢?)C# C# 程序设计程序设计天津师范大学 | 软件学院 164.4.1 命名的资源 资源是绑定在 exe 或 dll 内部的被命名的数据块。这个数据块的内容可能是一个图像、一个声音、一段文本的二进制形式。 以下代码使用一个图片作为窗体的背景,并在程序运行时,动态加载。 这段代码访问的图片文件为磁盘上的文件,在运行时不能保证肯定存在,如果文件不存在。如果没有保护代码(如异常处理),则程序崩溃。即便有保护代码,此时也只能以实色填充背景。public MyForm() InitializeComponent(); BackgroundImage
12、 = Image.FromFile(D:bg.jpg);C# C# 程序设计程序设计天津师范大学 | 软件学院 174.4.1 命名的资源 资源是绑定在 exe 或 dll 内部的被命名的数据块。这个数据块的内容可能是一个图像、一个声音、一段文本的二进制形式。 使用资源可以避免上述问题。添加资源的方法如下: 查看项目的属性,并切换到“资源”标签C# C# 程序设计程序设计天津师范大学 | 软件学院 184.4.1 命名的资源 资源是绑定在 exe 或 dll 内部的被命名的数据块。这个数据块的内容可能是一个图像、一个声音、一段文本的二进制形式。 使用资源可以避免上述问题。添加资源的方法如下:
13、选择资源类型:如“图像”; 选择添加方法:如“添加现有文件”; 给添加的资源命名:如 MyBackGround; 关闭项目属性窗口。C# C# 程序设计程序设计天津师范大学 | 软件学院 194.4.1 命名的资源 资源是绑定在 exe 或 dll 内部的被命名的数据块。这个数据块的内容可能是一个图像、一个声音、一段文本的二进制形式。 在代码中使用资源 每个项目都有一个隐含的命名空间 Properties。该空间下有一个Resources 类,用于管理所有添加的资源,并通过名字直接访问指定资源。代码如下public MyForm() InitializeComponent(); Backgro
14、undImage = Properties.Resources.MyBackGround;C# C# 程序设计程序设计天津师范大学 | 软件学院 204.4.2 练习:(15分钟)为排序演示器添加一个图片资源,运行时,以此图片作为整个窗体的背景。C# C# 程序设计程序设计天津师范大学 | 软件学院 21练习: 1、(45 分钟)在解决方案 Clock 中: 添加新的窗体项目 Clock02,实现并扩展石英钟: 采用应用程序设置的方式确定表针的颜色值、长度,表盘的颜色值,大小刻度的颜色和直径,以及是否需要扫秒效果。 采用动态属性的方法,确定窗体的大小、标题、是否置顶等设置。C# C# 程序设计
15、程序设计天津师范大学 | 软件学院 22在文件夹中创建一个空白解决方案,方案名称为 Test。在 Test中添加新的控制台应用程序 Console01,具体要求如下:(1)添加一个类文件 MyTool.cs,在其中定义一个名为 MyTool 的类。在其中定义一个静态方法 ShowPairs。ShowPairs方法包含两个字符数组参数(一个为纯小写字母字符串,一个为纯数字字符串)。功能为将这两个字符数组中的所有字符,依次实现类似天干地支方式的配对(字母在前,数字在后),配对应能实现完整的一个循环。(2)添加一个类文件 Exceptions.cs,在其中定义两个异常类RepetitionalCharException和InvalidCharException。具体的异常信息可自定义。(3)在 MyTool.cs中再添加一个静态方法GetChars。该方法,接收一个字符串,并返回两个字符串(利用参数)。接收的字符串是一个字母和数字混合的字符串,返回的两个字符串,一个是拆分出的小写字母字符串,
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 小红书美妆品牌账号运营与美妆沙龙服务合同
- 矿山安全劳务派遣服务及责任保障合同
- 文化旅游融合发展补充协议
- 网红炸鸡品牌形象使用权许可合同
- 智能仓储设备安装与仓储信息化升级服务合同
- 金融信贷资产证券化风险控制补充协议
- 创新型科技公司股权价值重估及调整合作协议
- 海外代购商品价格波动风险分担合同
- 胃肠肿瘤病例多学科讨论
- 肾绞痛的治疗
- 农行超级柜台业务知识考试题库(含答案)
- 免疫治疗免疫相关不良反应的处理PowerPoint-演示文稿
- 销售拜访流程培训课件
- 研究生英语翻译答案
- 小学生1-6年级成长档案模板(绝对原创)
- GB 15607-2023涂装作业安全规程粉末静电喷涂工艺安全
- 创伤性胸腔积液查房
- 苏州邻里中心调研报告以及应用
- 手表买卖合同协议书
- 2023门面装修合同范本
- 旅游接待计划表
评论
0/150
提交评论