面向对象程序设计大作业VBNET.docx
- 文档编号:26343373
- 上传时间:2023-06-17
- 格式:DOCX
- 页数:21
- 大小:551.91KB
面向对象程序设计大作业VBNET.docx
《面向对象程序设计大作业VBNET.docx》由会员分享,可在线阅读,更多相关《面向对象程序设计大作业VBNET.docx(21页珍藏版)》请在冰豆网上搜索。
面向对象程序设计大作业VBNET
《面向对象程序设计》大作业
题目:
记事本的设计及实现
姓名:
学号:
专业:
学院:
指导教师:
1课程设计题目和要求3
2功能分析3
3系统设计3
3.1主流程图3
3.2“文件”菜单操作流程图4
3.3“编辑”菜单操作流程图5
3.4“格式”菜单操作流程图6
3.5“帮助”菜单操作流程图7
4.界面设计8
4.1系统主界面设计8
4.2“文件”菜单的菜单项8
4.3打开文件及另存文件时的界面9
4.4“编辑”菜单的菜单项9
4.5“格式”菜单的菜单项10
4.6“帮助”菜单的菜单项10
4.7帮助界面设计11
4.8“查找”功能界面设计12
5总结12
6.附录(源程序清单)14
6.1全局变量14
6.2主程序加载14
6.3新建记事本文件14
6.4打开已有的记事本文件14
6.5保存记事本文件15
6.6另存为所打开的记事本文件15
6.7打印所打开的记事本文件16
6.8退出主程序16
6.9撤销命令16
6.10剪切命令16
6.11复制命令17
6.12黏贴命令17
6.13“删除”菜单源程序17
6.14“查找”菜单源程序17
6.15“查找下一个”菜单源程序17
6.16“全选”菜单源程序18
6.17插入时间/日期源程序18
6.18统计字数源程序18
6.19“自动换行”菜单源程序19
6.20字体的选择19
6.21“帮助”菜单栏源程序19
6.22关于此记事本的信息19
1课程设计题目和要求
题目:
记事本的设计及实现
基本设计要求:
(1)功能齐全;
(2)保证文件安全,操作简便;
(3)操作方便、简单,界面友好;
(4)易于维护和补充;
(5)对系统的运行效率要高,绝对不能出错,对系统响应速度的要求不高;
2功能分析
本程序要构建的记事本程序参照了Windows操作系统的记事本工具,其功能有以下几个方面:
(1)菜单中有“文件”、“编辑”、“格式”、“帮助”四个主菜单;
(2)“文件”有“新建”、“打开”、“保存”、“另存为”、“打印”及“退出”分别用于新建文件,打开文件,保存文件,另存文件,打印文件及退出记事本。
(3)“编辑”有“撤销”、“剪切”、“复制”、“粘贴”、“删除”,“查找”,“查找下一个”,“全选”、“时间/日期”、“字数统计”十个子菜单:
用于撤销上一部操作,剪切文字,复制文字,粘贴文字,删除文字,查找文字,查找下一个文字,全部选中,插入时间和日期,统计选中文字字数。
(4)“格式”中,有“自动换行”、“字体”两个子菜单:
用于使记事本文字自动换行和设置文字的字体。
(5)“帮助”菜单中有“关于”的子菜单,用于描述记事本程序的相关信息。
(6)还有快捷键也能实现“剪切”、“复制”、“粘贴”三个子菜单的功能。
3系统设计
3.1主流程图
图3.1主程序图
3.2“文件”菜单操作流程图
图3.2“文件”菜单操作流程图
3.3“编辑”菜单操作流程图
图3.3“编辑”菜单操作流程图
3.4“格式”菜单操作流程图
图3.4“格式”菜单操作流程图
3.5“帮助”菜单操作流程图
图3.5“帮助”菜单操作流程图
4.界面设计
4.1系统主界面设计
该界面提供“文件”,“编辑”,“格式”,“帮助”等模块及菜单链接
4.2“文件”菜单的菜单项
4.3打开文件及另存文件时的界面
4.4“编辑”菜单的菜单项
4.5“格式”菜单的菜单项
4.6“帮助”菜单的菜单项
4.7帮助界面设计
该界面提供版本,产品及其版权等信息
4.8“查找”功能界面设计
该界面显示“查找”功能界面
5总结
V程序设计是培养学生综合运用所学知识,发现,提出,分析和解决实际问题,锻炼实践能力的重要环节,是对学生实际工作能力的具体训练和考察过程.随着科学技术发展的日新日异,当今计算机应用在生活中可以说得是无处不在。
因此作为二十一世纪的大学来说掌握计算机开发技术是十分重要的。
回顾起此次课程设计,至今我仍感慨颇多,虽然我大二时学过C语言,但是由于当时学的比较匆忙,而且C语言是面向过程的语言,而VB.NET是面向对象的程序,因此做此次课程设计时感觉压力很大,自从拿到题目到完成整个编程,从理论到实践,在整整三个星期的日子里,可以学到很多很多的的东西,同时不仅可以巩固了以前所学过的知识,而且学到了很多在书本上所没有学到过的知识。
通过这次课程设计使我懂得了理论与实际相结合是很重要的,只有理论知识是远远不够的,只有把所学的理论知识与实践相结合起来,从理论中得出结论,才能真正为社会服务,从而提高自己的实际动手能力和独立思考的能力。
在设计的过程中遇到问题,这毕竟独立做的,难免会遇到过各种各样的问题,同时在设计的过程中发现了自己的不足之处,对以前所学过的知识理解得不够深刻,掌握得不够牢固,比如说结构体……通过这次程序设计之后,一定把以前所学过的知识重新温故。
这次课程设计终于顺利完成了,在设计中遇到了很多编程问题,最后在老师的辛勤指导下,终于游逆而解。
同时,在老师的身上我学得到很多实用的知识,在此我表示感谢!
同时,对给过我帮助的所有同学和各位指导老师再次表示忠心的感谢
6.附录(源程序清单)
6.1全局变量
DimFileNameAsString="无标题"
DimsearchwordAsString=""
DimautoLineFeedAsBoolean=False
6.2主程序加载
PrivateSubMainForm_Load(ByValsenderAsSystem.Object,ByValeAsSystem.EventArgs)HandlesMyBase.Load
Me.StartPosition=FormStartPosition.CenterScreen
Me.Text=FileName+"-"+"记事本——方勇"
rtbEditor.WordWrap=False
rtbEditor.ContextMenuStrip=ContextMenuStrip
rtbEditor.ScrollBars=RichTextBoxScrollBars.Both
fangFileNew.ShowShortcutKeys=Keys.Control+Keys.N
fangFileOpen.ShortcutKeys=Keys.Control+Keys.O
fangFileSave.ShortcutKeys=Keys.Control+Keys.S
fangEditCut.ShortcutKeys=Keys.Control+Keys.X
fangEditCopy.ShortcutKeys=Keys.Control+Keys.C
fangEditPaste.ShortcutKeys=Keys.Control+Keys.V
全选AToolStripMenuItem.ShortcutKeys=Keys.Control+Keys.A
删除LToolStripMenuItem.ShortcutKeys=Keys.Delete
fangEditSearch.ShortcutKeys=Keys.Control+Keys.F
fangEditSearchnext.ShortcutKeys=Keys.F3
fangEditSearchnext.Enabled=False
autoLineFeed=True
rtbEditor.WordWrap=True
fangStyleautolinefeed.Checked=True
rtbEditor.ZoomFactor=2
EndSub
6.3新建记事本文件
PrivateSubfangFileNew_Click(ByValsenderAsSystem.Object,ByValeAsSystem.EventArgs)HandlesfangFileNew.Click
rtbEditor.Text=""
FileName="无标题"
Me.Text=FileName+"-"+"记事本——方勇"
EndSub
6.4打开已有的记事本文件
PrivateSubfangFileOpen_Click(ByValsenderAsSystem.Object,ByValeAsSystem.EventArgs)HandlesfangFileOpen.Click
OpenFileDialog1.Filter="文本文档(*.txt)|*.txt"
OpenFileDialog1.FileName=""
IfOpenFileDialog1.ShowDialog()=Windows.Forms.DialogResult.CancelThen
ExitSub
Else
rtbEditor.Text=""
FileName=OpenFileDialog1.FileName
rtbEditor.LoadFile(FileName,RichTextBoxStreamType.PlainText)
Me.Text=FileName+"-"+"记事本——方勇"
EndIf
ExitSub
EndSub
6.5保存记事本文件
PrivateSubfangFileSave_Click(ByValsenderAsSystem.Object,ByValeAsSystem.EventArgs)HandlesfangFileSave.Click
IfMe.Text="无标题-记事本——方勇"Then
'保存新建的记事本文件"
SaveFileDialog1.Filter="文本文档(*.txt)|*.txt"
SaveFileDialog1.FileName=""
SaveFileDialog1.CheckPathExists=True
IfSaveFileDialog1.ShowDialog()=Windows.Forms.DialogResult.CancelThen
ExitSub
Else
rtbEditor.SaveFile(SaveFileDialog1.FileName,RichTextBoxStreamType.PlainText)
Me.Text=SaveFileDialog1.FileName+"-"+"记事本——方勇"
EndIf
Else
'保存所打开的记事本文件
rtbEditor.SaveFile(Mid(Me.Text,1,Me.Text.Length-Len("-记事本——方勇")),RichTextBoxStreamType.PlainText)
EndIf
EndSub
6.6另存为所打开的记事本文件
PrivateSubfangFileSaveAs_Click(ByValsenderAsSystem.Object,ByValeAsSystem.EventArgs)HandlesfangFileSaveAs.Click
SaveFileDialog1.Filter="文本文档(*.txt)|*.txt"
SaveFileDialog1.FileName=""
SaveFileDialog1.CheckPathExists=True
IfSaveFileDialog1.ShowDialog()=Windows.Forms.DialogResult.CancelThen
ExitSub
Else
rtbEditor.SaveFile(SaveFileDialog1.FileName,RichTextBoxStreamType.PlainText)
EndIf
EndSub
6.7打印所打开的记事本文件
PrivateSubfangFilePrint_Click(ByValsenderAsSystem.Object,ByValeAsSystem.EventArgs)HandlesfangFilePrint.Click
IfPrintDialog1.ShowDialog()=Windows.Forms.DialogResult.OKThen
PrintDocument1.Print()
EndIf
EndSub
6.8退出主程序
PrivateSubfangFileExit_Click(ByValsenderAsSystem.Object,ByValeAsSystem.EventArgs)HandlesfangFileExit.Click
End
EndSub
6.9撤销命令
PrivateSub撤消UToolStripMenuItem_Click(ByValsenderAsSystem.Object,ByValeAsSystem.EventArgs)Handles撤消UToolStripMenuItem.Click
rtbEditor.Undo()
EndSub
6.10剪切命令
PrivateSubfangEditCut_Click(ByValsenderAsSystem.Object,ByValeAsSystem.EventArgs)HandlesfangEditCut.Click
rtbEditor.Cut()
EndSub
6.11复制命令
PrivateSubfangEditCopy_Click(ByValsenderAsSystem.Object,ByValeAsSystem.EventArgs)HandlesfangEditCopy.Click
Clipboard.SetDataObject(rtbEditor.SelectedText)
EndSub
6.12黏贴命令
PrivateSubfangEditPaste_Click(ByValsenderAsSystem.Object,ByValeAsSystem.EventArgs)HandlesfangEditPaste.Click
DimcopetextAsIDataObject=Clipboard.GetDataObject()
rtbEditor.SelectedText=CType(copetext.GetData(DataFormats.Text),String)
EndSub
6.13“删除”菜单源程序
PrivateSub删除LToolStripMenuItem_Click(ByValsenderAsSystem.Object,ByValeAsSystem.EventArgs)Handles删除LToolStripMenuItem.Click
rtbEditor.Text=rtbEditor.Text.Remove(rtbEditor.SelectionStart,rtbEditor.SelectionLength)
EndSub
6.14“查找”菜单源程序
PrivateSubfangEditSearch_Click(ByValsenderAsSystem.Object,ByValeAsSystem.EventArgs)HandlesfangEditSearch.Click
searchword=InputBox("查找内容","查找")
Ifsearchword=""Then
ExitSub
Else
rtbEditor.Find(searchword,rtbEditor.SelectionStart,RichTextBoxFinds.MatchCase)
IfrtbEditor.SelectionStart=rtbEditor.TextLengthThen
MsgBox("找不到"+""+searchword+"")
Else
fangEditSearchnext.Enabled=True
ExitSub
EndIf
EndIf
EndSub
6.15“查找下一个”菜单源程序
PrivateSubfangEditSearchnext_Click(ByValsenderAsSystem.Object,ByValeAsSystem.EventArgs)HandlesfangEditSearchnext.Click
IfrtbEditor.SelectionStart=rtbEditor.TextLengthThen
MsgBox("找不到"+""""+searchword+"""")
Else
IfrtbEditor.Find(searchword,rtbEditor.SelectionStart+1,RichTextBoxFinds.MatchCase)=-1
Then
MsgBox("找不到"+""""+searchword+"""")
Else
ExitSub
EndIf
EndIf
EndSub
6.16“全选”菜单源程序
PrivateSub全选AToolStripMenuItem_Click(ByValsenderAsSystem.Object,ByValeAsSystem.EventArgs)Handles全选AToolStripMenuItem.Click
rtbEditor.SelectAll()
EndSub
6.17插入时间/日期源程序
PrivateSub时间日期DToolStripMenuItem_Click(ByValsenderAsSystem.Object,ByValeAsSystem.EventArgs)Handles时间日期DToolStripMenuItem.Click
IfautoLineFeed=FalseThen
rtbEditor.Text+=Date.Now
Else
rtbEditor.Text+=Chr(13)+Chr(10)+Date.Now
EndIf
EndSub
6.18统计字数源程序
PrivateSub字数统计SToolStripMenuItem_Click(ByValsenderAsSystem.Object,ByValeAsSystem.EventArgs)Handles字数统计SToolStripMenuItem.Click
IfrtbEditor.SelectedText=""Then
MsgBox("全文共"+rtbEditor.TextLength.ToString+"字符")
Else
MsgBox("选中的字符数为"+rtbEditor.SelectionLength.ToString)
EndIf
EndSub
6.19“自动换行”菜单源程序
PrivateSubfangStyleAutolinefeed_Click(ByValsenderAsSystem.Object,ByValeAsSystem.EventArgs)HandlesfangStyleautolinefeed.Click
IfautoLineFeed=FalseThen
rtbEditor.WordWrap=True
fangStyleautolinefeed.Checked=True
autoLineFeed=True
Else
rtbEditor.WordWrap=False
fangStyleautolinefeed.Checked=False
autoLineFeed=False
EndIf
EndSub
6.20字体的选择
PrivateSubfangStyleFont_Click(ByValsenderAsSystem.Object,ByValeAsSystem.EventArgs)HandlesfangStyleFont.Click
IfFontDialog1.ShowDialog()=Windows.Forms.DialogResult.OKThen
rtbEditor.Font=FontDialog1.Font
EndIf
EndSub
6.21“帮助”菜单栏源程序
PrivateSub关于AToolStripMenuItem_Click(ByValsenderAsSystem.Object,ByValeAsSystem.EventArgs)Handles关于AToolStripMenuItem.Click
Me.Enabled=False
fangHelpshow.Show()
EndSub
6.22关于此记事本的信息
PrivateSubfangHelp_Load(ByValsenderAsSystem.Object,ByValeAsSystem.EventArgs)HandlesMyBase.Load
Me.LabelProductName.Text=My.Application.Info.ProductName
Me.LabelVersion.Text=String.Format("版本{0}",My.Application.Info.Version.ToString)
Me.LabelCopyright.Text=My.Application.Info.Copyright
Me.LabelCompanyName.Text=My.Application.Info.CompanyName
Me.TextBoxDescription.Text=My.Application.Info.Description
EndSub
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 面向 对象 程序设计 作业 VBNET