**所有源代码均在这里下载:
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 字体列表
未完待续......