实验七单文档和多文档_第1页
实验七单文档和多文档_第2页
实验七单文档和多文档_第3页
实验七单文档和多文档_第4页
实验七单文档和多文档_第5页
已阅读5页,还剩6页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、C#程序设计与开发实战实验报告班级: 14软件2姓名:学号实验名称:实验七 单文档和多文档编程完成时间2016/6/12一、实验目的1掌握单文档窗体(SDI)的主菜单的设置和编程、工具栏设置和编程。2. 掌握多文档窗体(MDI)的主菜单的设置和编程、工具栏设置和编程。3掌握多文档窗体(MDI)的快捷菜单的设置和编程。二、实验内容1. 试编写单文档Windows应用程序,完成下列要求:(1)Form1窗体设计界面如下,该程序功能:实现简易记事本的功能。(2)窗口中工作区是一个richTextBox,可以输入文字,可以随窗口的变化而变化。(3)主菜单:文件 新建、打开、保存 、编辑 剪切、复制、粘

2、贴 、格式 字体、颜色 、退出;(4)工具栏:新建、打开、保存、剪切、复制、粘贴、字体(comboBox下拉式列表框)、颜色(comboBox下拉式列表框);(5)要求实现以上菜单项和工具的所有功能;提示:工具栏中的“字体”comboBox的字体样式获取可使用以下代码:(注意添加命名空间的引入)工具栏中的“颜色”comboBox的颜色,可简单设置为红色、蓝色、绿色、黄色四种即可。using System;using System.Collections.Generic;using System.ComponentModel;using System.Data;using System.Draw

3、ing;using System.Linq;using System.Text;using System.Threading.Tasks;using System.Windows.Forms;using System.Drawing.Text;namespace WindowsFormsApplication5 public partial class Form1 : Form public Form1() InitializeComponent(); private int k = 0; private void 退出ToolStripMenuItem_Click(object sender

4、, EventArgs e) if (MessageBox.Show("是否退出", "提示", MessageBoxButtons.YesNo, MessageBoxIcon.Warning) = DialogResult.Yes) if (k = 1) if (MessageBox.Show("是否保存", "提示", MessageBoxButtons.YesNo, MessageBoxIcon.Warning) = DialogResult.Yes) SaveFileDialog sfdialog = ne

5、w SaveFileDialog(); if (sfdialog.ShowDialog() = DialogResult.OK) richTextBox1.SaveFile(sfdialog.FileName, RichTextBoxStreamType.RichText); this.Close(); private void richTextBox1_TextChanged(object sender, EventArgs e) k = 1; private void 打开ToolStripMenuItem1_Click(object sender, EventArgs e) OpenFi

6、leDialog odialog = new OpenFileDialog(); if (odialog.ShowDialog() = DialogResult.OK) k = 0; richTextBox1.LoadFile(odialog.FileName, RichTextBoxStreamType.RichText); private void 字体ToolStripMenuItem_Click(object sender, EventArgs e) FontDialog fdialog = new FontDialog(); if (fdialog.ShowDialog() = Di

7、alogResult.OK) richTextBox1.SelectionFont = fdialog.Font; private void 颜色ToolStripMenuItem_Click(object sender, EventArgs e) ColorDialog cdialog = new ColorDialog(); if (cdialog.ShowDialog() = DialogResult.OK) richTextBox1.SelectionColor = cdialog.Color; private void toolStripButton1_Click(object se

8、nder, EventArgs e) 打开ToolStripMenuItem1_Click(sender, e); private void toolStripButton2_Click(object sender, EventArgs e) 保存ToolStripMenuItem_Click(sender, e); private void toolStripButton3_Click(object sender, EventArgs e) this.richTextBox1.Cut(); private void 剪切ToolStripMenuItem_Click(object sende

9、r, EventArgs e) this.richTextBox1.Cut(); private void 复制ToolStripMenuItem_Click(object sender, EventArgs e) this.richTextBox1.Copy(); private void 粘贴ToolStripMenuItem_Click(object sender, EventArgs e) this.richTextBox1.Paste(); private void toolStripButton4_Click(object sender, EventArgs e) this.ric

10、hTextBox1.Copy(); private void toolStripButton5_Click(object sender, EventArgs e) this.richTextBox1.Paste(); private void toolStripComboBox2_TextChanged(object sender, EventArgs e) string s = toolStripComboBox2.SelectedItem.ToString(); switch (s) case "黄色": richTextBox1.SelectionColor = Co

11、lor.Yellow; break; case "蓝色": richTextBox1.SelectionColor = Color.Blue; break; case "绿色": richTextBox1.SelectionColor = Color.Green; break; case "红色": richTextBox1.SelectionColor = Color.Red; break; public InstalledFontCollection font; public FontFamily family; private

12、void Form1_Load(object sender, EventArgs e) font = new InstalledFontCollection(); family = font.Families; for (int i = 0; i < family.Length; i+) toolStripComboBox1.Items.Add(familyi.Name); private void toolStripComboBox1_SelectedIndexChanged(object sender, EventArgs e) Font f = new System.Drawing

13、.Font(toolStripComboBox2.SelectedItem.ToString(), 10); richTextBox1.SelectionFont = f; private void 保存ToolStripMenuItem_Click(object sender, EventArgs e) SaveFileDialog sfdialog = new SaveFileDialog(); if (sfdialog.ShowDialog() = DialogResult.OK) richTextBox1.SaveFile(sfdialog.FileName, RichTextBoxS

14、treamType.RichText); 2. 试编写多文档Windows应用程序,实现简易Word的功能,完成下列要求:(1)Form1是主窗体,Form2是子窗体。(2)Form2窗口中工作区是一个richTextBox,可以输入文字,可以随窗口的变化而变化。(3)主菜单:文件 新建、打开、保存,退出 、窗口 层叠窗口、水平平铺、垂直平铺;(4)工具栏:新建、打开、保存;(5)单击子窗体的工作区时,弹出快捷菜单,该菜单项有两组,分别是:剪切、复制、粘贴,字体、颜色;(6)要求实现以上菜单项、工具栏和快捷菜单的所有功能;(7)单击新建时,新建的窗口如下:(8)单击打开时,要求打开的文件名显示

15、在窗口上,如下所示:(9)单击子窗体的关闭按钮时,如果richTextBox中的内容被修改,则弹出对话框,提示保存。单击主窗体的关闭按钮时,弹出对话框提示是否退出程序。using System;using System.Collections.Generic;using System.ComponentModel;using System.Data;using System.Drawing;using System.Linq;using System.Text;using System.Windows.Forms;namespace Test2 public partial class For

16、m2 : Form public Boolean Textchanged = false; /判断文本框内容是否改变 public Form2() InitializeComponent(); richTextBox1.ContextMenuStrip = contextMenuStrip1; private void 剪切ToolStripMenuItem_Click(object sender, EventArgs e) this.richTextBox1.Cut(); private void 复制ToolStripMenuItem_Click(object sender, EventA

17、rgs e) this.richTextBox1.Copy(); private void 粘贴ToolStripMenuItem_Click(object sender, EventArgs e) this.richTextBox1.Paste(); private void 字体ToolStripMenuItem_Click(object sender, EventArgs e) FontDialog fontdig = new FontDialog(); DialogResult dlg = fontdig.ShowDialog(); /弹出设置字体的对话框 if (dlg = Dial

18、ogResult.OK) richTextBox1.SelectionFont = fontdig.Font; /设置新字体 private void 颜色ToolStripMenuItem_Click(object sender, EventArgs e) ColorDialog colordig = new ColorDialog(); DialogResult dlg = colordig.ShowDialog(); /弹出设置颜色的对话框 if (dlg = DialogResult.OK) richTextBox1.SelectionColor = colordig.Color; /

19、设置新颜色 /文本框内容改变时触发事件 private void richTextBox1_TextChanged(object sender, EventArgs e) Textchanged = true; /点击关闭按钮触发事件 private void Form2_FormClosing(object sender, FormClosingEventArgs e) if (MessageBox.Show("文本框内容已被修改,是否保存内容?", "提示信息", MessageBoxButtons.YesNo) = DialogResult.Yes

20、) SaveFileDialog savedig = new SaveFileDialog(); DialogResult dlg = savedig.ShowDialog(); if (dlg = DialogResult.OK) richTextBox1.SaveFile(savedig.FileName, RichTextBoxStreamType.RichText); else e.Cancel = true; /如果用户不保存文件,则不执行关闭窗口事件 /当窗体改变大小触发事件 private void Form2_Resize(object sender, EventArgs e)

21、 richTextBox1.Size = new Size(this.Size.Width - 15, this.Size.Height - 15); private void Form2_Load(object sender, EventArgs e) using System;using System.Collections.Generic;using System.ComponentModel;using System.Data;using System.Drawing;using System.Linq;using System.Text;using System.Windows.Fo

22、rms;namespace Test2 public partial class Form1 : Form int count=1; /统计子窗体数量 public string filename=null; /保存的文件名 public Form1() InitializeComponent(); private void 退出ToolStripMenuItem_Click(object sender, EventArgs e) this.Close(); private void Form1_Load(object sender, EventArgs e) this.IsMdiContai

23、ner = true; /使当前窗体成为父窗体 /主菜单栏,文件,新建 private void 新建ToolStripMenuItem_Click(object sender, EventArgs e) Form2 f2 = new Form2(); f2.Text = "新建文件" + count; count+; f2.MdiParent = this; /使其成为当前MDI父窗体的子窗体 f2.Show(); /主菜单栏,文件,打开 private void 打开ToolStripMenuItem_Click(object sender, EventArgs e)

24、OpenFileDialog openfile = new OpenFileDialog(); DialogResult dlg = openfile.ShowDialog(); /弹出打开文件的对话框 try if (dlg = DialogResult.OK) string name = openfile.FileName; /获取文件的名称 filename = name; Form2 f2 = new Form2(); f2.Text = "新建文件" + count; count+; f2.MdiParent = this; /使其成为当前MDI父窗体的子窗体 f

25、2.richTextBox1.LoadFile(name, RichTextBoxStreamType.RichText); /打开选择的文件 f2.Text = name; /打开的文件名显示在窗口上 f2.Show(); catch (Exception) MessageBox.Show("打开文件错误!", "读取文件错误", MessageBoxButtons.OK, MessageBoxIcon.Error); /主菜单栏,文件,保存 private void 保存ToolStripMenuItem_Click(object sender, E

26、ventArgs e) /判断当前文件是否已经保存:若没有保存则调用另存为方法;若已经保存,则直接调用文本框的保存方法 if (filename != null) Form2 f2 = (Form2)this.ActiveMdiChild; /获取当前活动的子窗体 f2.richTextBox1.SaveFile(filename, RichTextBoxStreamType.RichText); /保存内容 else 另存为ToolStripMenuItem_Click(sender, e); /点击关闭按钮触发事件 private void Form1_FormClosing(object

27、 sender, FormClosingEventArgs e) if (MessageBox.Show("是否退出程序?", "提示信息", MessageBoxButtons.YesNo) = DialogResult.Yes) e.Cancel = false; /点击Yes:继续执行关闭窗口事件 else e.Cancel = true; /点击NO:不执行关闭窗口事件 /工具栏,新建 private void toolStripButton6_Click(object sender, EventArgs e) 新建ToolStripMenuItem_Click(sender,e); /工具栏,打开 private void toolStripButton1_Click(object sender, EventArgs e) 打开ToolStripMenuItem_Click(sender,e); /工具栏,保存 private void toolStripButton2_Click(object sender, EventArgs e) 保存ToolStripMenuItem_Click(sender,e); private void 层叠窗口Too

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论