用vb.net实现写字板程序报告(一)

**所有源代码均在这里下载:

http://www.up2e.com/resource.php


用vb.net实现简单的写字板程序的设计报告(一) ** -----by zigz( luhi*up2e.com )
[email protected]

先看看界面:

** 一) ** ** 运用控件 **

** MainMenu,SaveFileDialog,OpenFileDialog,FontDialog,ImageList,PrintDocument,ColorDialog ** ** 等 ** ** 。 **


** 二) ** ** 关键功能 **

** 1) ** ** 首先说说最关键的,就是可以多个字体样式合并适用 ,比如一个字它可以既是加粗,又是斜体,又是加下划线!虽然这个可以用字体对话框做到,但是能够在工具栏按钮上实现这个功能可真是花费不少心机。 **

** 2) ** ** 实现了文本查找,替换功能。并且实现了控件的拖动。 **

** 3) ** ** 实现了打印预览功能。 **


** 三) ** ** 主要设计 **

** 一般的功能如打开文件,保存文件,复制,粘贴,剪切等等就不说了,可以参考代码文件。现在主要来说说一些关键功能的设计。 **


** 1) ** ** 提示型对话框 **

** 考虑用户在退出和关闭当前文本的时候,对用户文本内容保存提示。因此如果文本内容发生了改变,就需要在用户关闭当前文件的时候(比如新建文本,打开其他文本或者退出记事本时)弹除提示对话框,提醒用户是否保存当前文件。为了实现这个功能,需要设置一个 Boolean 型变量用来跟踪 RichTextBox 中文本内容改变的情况。 RichTextBox 控件有一个 TextChanged 事件,当文本发生改变的时候,这个事件就会被 fired,所以利用这个事件来监视文本的改变。用一个 Boolean 型变量 bSave 作为标记。只要在适当的位置加入对 Bsave 的检查就可以判断文本内容的改变情况。 **

图 1 保存提示

' 声明一个全局 boolean 变量,用来标记 richtextbox 中文本变化和保存情况

Dim bSave As Boolean

Private Sub rtbox_TextChanged( ByVal sender As Object , ByVal e As System.EventArgs) Handles rtbox.TextChanged

' 文本发生了改变,则将变量 bSave 置为 False

bSave = False

End Sub ** **


** 2) ** ** 关于在 ** ComboBox ** 中加载用户系统上的字体列表的问题 ** ** **

** 加载用户系统上的字体到写字板 ComboBox的字体栏上,为了实现他,也花费了少时间,最终在VS.NET自带的Help中找到了答案。 **

' 下面这段代码是加载当地系统中所有字体到 Combobox 中

Dim allfonts As FontFamily

For Each allfonts In System.Drawing.FontFamily.Families

comboxFont.Items.Add(allfonts.Name)

Next

图 2 字体列表

未完待续......

Published At
Categories with Web编程
Tagged with
comments powered by Disqus