實驗七單文檔和多文檔_第1頁
實驗七單文檔和多文檔_第2頁
實驗七單文檔和多文檔_第3頁
實驗七單文檔和多文檔_第4頁
實驗七單文檔和多文檔_第5頁
已閱讀5頁,還剩6頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領

文檔簡介

1、C#程序設計與開發(fā)實戰(zhàn)實驗報告班級: 14軟件2姓名:學號實驗名稱:實驗七 單文檔和多文檔編程完成時間2016/6/12一、實驗目的1掌握單文檔窗體(SDI)的主菜單的設置和編程、工具欄設置和編程。2. 掌握多文檔窗體(MDI)的主菜單的設置和編程、工具欄設置和編程。3掌握多文檔窗體(MDI)的快捷菜單的設置和編程。二、實驗內(nèi)容1. 試編寫單文檔Windows應用程序,完成下列要求:(1)Form1窗體設計界面如下,該程序功能:實現(xiàn)簡易記事本的功能。(2)窗口中工作區(qū)是一個richTextBox,可以輸入文字,可以隨窗口的變化而變化。(3)主菜單:文件 新建、打開、保存 、編輯 剪切、復制、粘

2、貼 、格式 字體、顏色 、退出;(4)工具欄:新建、打開、保存、剪切、復制、粘貼、字體(comboBox下拉式列表框)、顏色(comboBox下拉式列表框);(5)要求實現(xiàn)以上菜單項和工具的所有功能;提示:工具欄中的“字體”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應用程序,實現(xiàn)簡易Word的功能,完成下列要求:(1)Form1是主窗體,F(xiàn)orm2是子窗體。(2)Form2窗口中工作區(qū)是一個richTextBox,可以輸入文字,可以隨窗口的變化而變化。(3)主菜單:文件 新建、打開、保存,退出 、窗口 層疊窗口、水平平鋪、垂直平鋪;(4)工具欄:新建、打開、保存;(5)單擊子窗體的工作區(qū)時,彈出快捷菜單,該菜單項有兩組,分別是:剪切、復制、粘貼,字體、顏色;(6)要求實現(xiàn)以上菜單項、工具欄和快捷菜單的所有功能;(7)單擊新建時,新建的窗口如下:(8)單擊打開時,要求打開的文件名顯示

15、在窗口上,如下所示:(9)單擊子窗體的關閉按鈕時,如果richTextBox中的內(nèi)容被修改,則彈出對話框,提示保存。單擊主窗體的關閉按鈕時,彈出對話框提示是否退出程序。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; /判斷文本框內(nèi)容是否改變 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、設置新顏色 /文本框內(nèi)容改變時觸發(fā)事件 private void richTextBox1_TextChanged(object sender, EventArgs e) Textchanged = true; /點擊關閉按鈕觸發(fā)事件 private void Form2_FormClosing(object sender, FormClosingEventArgs e) if (MessageBox.Show("文本框內(nèi)容已被修改,是否保存內(nèi)容?", "提示信息", 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; /如果用戶不保存文件,則不執(zhí)行關閉窗口事件 /當窗體改變大小觸發(fā)事件 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; /統(tǒng)計子窗體數(shù)量 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) /判斷當前文件是否已經(jīng)保存:若沒有保存則調用另存為方法;若已經(jīng)保存,則直接調用文本框的保存方法 if (filename != null) Form2 f2 = (Form2)this.ActiveMdiChild; /獲取當前活動的子窗體 f2.richTextBox1.SaveFile(filename, RichTextBoxStreamType.RichText); /保存內(nèi)容 else 另存為ToolStripMenuItem_Click(sender, e); /點擊關閉按鈕觸發(fā)事件 private void Form1_FormClosing(object

27、 sender, FormClosingEventArgs e) if (MessageBox.Show("是否退出程序?", "提示信息", MessageBoxButtons.YesNo) = DialogResult.Yes) e.Cancel = false; /點擊Yes:繼續(xù)執(zhí)行關閉窗口事件 else e.Cancel = true; /點擊NO:不執(zhí)行關閉窗口事件 /工具欄,新建 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. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論