【 程序功能 】 本程序实现如下功能:用户在窗体上鼠标,程序记录点的位置,并将这些点连接成直线。用户可将绘制的图形以二进制方式方式将内容保存到文件中,且可从文件中读取数据并绘制图形。 【操作要求】 复制并打开项目:将 C : \2003CS7\Unit7 文件夹下的 Test7_20 子目录完整的复制到考生文件下,并在 Visual Studio.NET 中打开位于考生文件夹下 Test7_20 子目录中的 Test7_20 项目。该项目是一个 Windows 应用程序项目,窗体如图所示,空间的 Name 几 Text 属性如表所示。 窗体通过按钮 MouseDown 和 Paint 实现简单的绘图功能, From1 的类成员定义部分声明了一个 ArrayList 类型的变量 PL ,用以存储窗体上点的坐标: 1. 以二进制方式编辑并保存文件 : l 为窗体 Form1 添加方法 SaveInfo, 用于将列表中的内容保存至文件中,方法原型: Public Void SaveInfo(String Path); l 在 SaveInfo 方法的代码中: Ø 构造一个 FileSream 对象的实例 fs ,按指定路径名 path 以二进制建新文件; Ø 由 FileStream 对象构造一个 BinaryWriter 对象实例 bw ; Ø 使用 BinaryWriter 对象将集合 PL 中坐标点的数量以文本方式写入文件中;; Ø 使用 BinaryWriter 对象以文本方式将各点坐标逐行写入文件中; Ø 关闭文件交流。 2. 以二进制方式打开文件并读取文件内容: l 为窗体 Form1 添加方法 LoadInfo, 用于将窗体中的信息保存至文件中,方法原型: Public Void LoadInfo,(String Path); l 在 LoadInfo 方法的代码中: Ø 清空列表框中的内容; Ø 构造一个 FileSream 对象的实例 fs ,按指定路径名 path 以二进制打开文件; Ø 由 FileStream 对象构造一个 BinaryReader 对象实例 br ; Ø 使用 BinaryReader 对象将列表框的项数以文本方式写入文件中; Ø 使用 BinaryReader 对象以文本方式逐行读取各点坐标文件中,并增加至集合 PL 中; Ø 关闭文件交流。 Ø 重绘窗体 3. 使用文件对话框: l 为按钮打开添加鼠标事件,在处理代码中使用打开文件对话框获取文件路径名,文件类型为 “图形数据文件( *.s720 ) |*.s720 ” , 初始路径为程序启动路径,并调用 LoadInfo 方法打开文件: l 为按钮保存添加鼠标事件,再处理代码中使用保存文件对话框获取文件路径名。文件类型为 “图形数据文件( *.s720 ) |*.s720 ”,初始路径为程序启动路径,并调用 SaveInfo 方法保存文件。 4 获取文件信息 在打开的处理事件末尾添加代码,将所打开文件的最近一次修改时间显示在状态栏面板中。 5. 程序设计完成后进行编译,生成项目 EXE 可执行文件。 6. 【执行结果】 运行程序显示窗体。当按下 “打开”按,显示“打开”对话框,如图 7-20b 所示:这是可以选择当前目录中的 001.s7208 文件。“打开”按钮,则窗体中显示文件的内容和文件属性信息,如图 7-20c 所示。 打开文件后,可以在窗体中修改文件内容,当按下 “保存”按,显示“保存”对话框,可指定文件名。“确定”按钮保存文件。