




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、C#程序設(shè)計與開發(fā)實戰(zhàn)實驗報告班級: 14軟件2姓名:學(xué)號實驗名稱:實驗七 單文檔和多文檔編程完成時間2016/6/12一、實驗?zāi)康?掌握單文檔窗體(SDI)的主菜單的設(shè)置和編程、工具欄設(shè)置和編程。2. 掌握多文檔窗體(MDI)的主菜單的設(shè)置和編程、工具欄設(shè)置和編程。3掌握多文檔窗體(MDI)的快捷菜單的設(shè)置和編程。二、實驗內(nèi)容1. 試編寫單文檔Windows應(yīng)用程序,完成下列要求:(1)Form1窗體設(shè)計界面如下,該程序功能:實現(xiàn)簡易記事本的功能。(2)窗口中工作區(qū)是一個richTextBox,可以輸入文字,可以隨窗口的變化而變化。(3)主菜單:文件 新建、打開、保存 、編輯 剪切、復(fù)制、粘
2、貼 、格式 字體、顏色 、退出;(4)工具欄:新建、打開、保存、剪切、復(fù)制、粘貼、字體(comboBox下拉式列表框)、顏色(comboBox下拉式列表框);(5)要求實現(xiàn)以上菜單項和工具的所有功能;提示:工具欄中的“字體”comboBox的字體樣式獲取可使用以下代碼:(注意添加命名空間的引入)工具欄中的“顏色”comboBox的顏色,可簡單設(shè)置為紅色、藍色、綠色、黃色四種即可。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 復(fù)制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應(yīng)用程序,實現(xiàn)簡易Word的功能,完成下列要求:(1)Form1是主窗體,F(xiàn)orm2是子窗體。(2)Form2窗口中工作區(qū)是一個richTextBox,可以輸入文字,可以隨窗口的變化而變化。(3)主菜單:文件 新建、打開、保存,退出 、窗口 層疊窗口、水平平鋪、垂直平鋪;(4)工具欄:新建、打開、保存;(5)單擊子窗體的工作區(qū)時,彈出快捷菜單,該菜單項有兩組,分別是:剪切、復(fù)制、粘貼,字體、顏色;(6)要求實現(xiàn)以上菜單項、工具欄和快捷菜單的所有功能;(7)單擊新建時,新建的窗口如下:(8)單擊打開時,要求打開的文件名顯示
15、在窗口上,如下所示:(9)單擊子窗體的關(guān)閉按鈕時,如果richTextBox中的內(nèi)容被修改,則彈出對話框,提示保存。單擊主窗體的關(guān)閉按鈕時,彈出對話框提示是否退出程序。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 復(fù)制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(); /彈出設(shè)置字體的對話框 if (dlg = Dial
18、ogResult.OK) richTextBox1.SelectionFont = fontdig.Font; /設(shè)置新字體 private void 顏色ToolStripMenuItem_Click(object sender, EventArgs e) ColorDialog colordig = new ColorDialog(); DialogResult dlg = colordig.ShowDialog(); /彈出設(shè)置顏色的對話框 if (dlg = DialogResult.OK) richTextBox1.SelectionColor = colordig.Color; /
19、設(shè)置新顏色 /文本框內(nèi)容改變時觸發(fā)事件 private void richTextBox1_TextChanged(object sender, EventArgs e) Textchanged = true; /點擊關(guān)閉按鈕觸發(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í)行關(guān)閉窗口事件 /當窗體改變大小觸發(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)保存:若沒有保存則調(diào)用另存為方法;若已經(jīng)保存,則直接調(diào)用文本框的保存方法 if (filename != null) Form2 f2 = (Form2)this.ActiveMdiChild; /獲取當前活動的子窗體 f2.richTextBox1.SaveFile(filename, RichTextBoxStreamType.RichText); /保存內(nèi)容 else 另存為ToolStripMenuItem_Click(sender, e); /點擊關(guān)閉按鈕觸發(fā)事件 private void Form1_FormClosing(object
27、 sender, FormClosingEventArgs e) if (MessageBox.Show("是否退出程序?", "提示信息", MessageBoxButtons.YesNo) = DialogResult.Yes) e.Cancel = false; /點擊Yes:繼續(xù)執(zhí)行關(guān)閉窗口事件 else e.Cancel = true; /點擊NO:不執(zhí)行關(guān)閉窗口事件 /工具欄,新建 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)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 備戰(zhàn)保安證考試的重要心理試題及答案
- 山東省聊城市某重點高中2025屆高考化學(xué)試題命題比賽模擬試卷(24)含解析
- 私立華聯(lián)學(xué)院《Web應(yīng)用開發(fā)技術(shù)》2023-2024學(xué)年第二學(xué)期期末試卷
- 職業(yè)培訓(xùn)的保安證考試試題及答案
- - 2025年高中化學(xué)模擬試題及答案學(xué)習(xí)計劃
- 新疆第二醫(yī)學(xué)院《用戶研究》2023-2024學(xué)年第二學(xué)期期末試卷
- 2025年高中化學(xué)模擬試題及答案重點詞匯
- 7 幼兒情商發(fā)展的研究與實踐:試題及答案
- 2025年保安證考試指導(dǎo)手冊試題及答案
- 2025年保安證考試問答解析試題及答案
- 湖北云學(xué)名校聯(lián)盟2024-2025學(xué)年高二上學(xué)期期末考試英語試題 含解析
- 第五周《春風(fēng)吹過正‘植’有我》主題班會
- 2025年度養(yǎng)老產(chǎn)業(yè)服務(wù)合同協(xié)議
- 2025年包頭鐵道職業(yè)技術(shù)學(xué)院高職單招數(shù)學(xué)歷年(2016-2024)頻考點試題含答案解析
- 2024年長沙電力職業(yè)技術(shù)學(xué)院高職單招語文歷年參考題庫含答案解析
- 2024年山西工程職業(yè)學(xué)院高職單招職業(yè)適應(yīng)性測試歷年參考題庫含答案解析
- 2025年計算機二級考試題庫350題含答案(WPS)
- 三年級 下冊《紙的發(fā)明》課件
- 影視制作流程與拍攝指南
- 2025勞動合同(標準版本)
- 自建房質(zhì)量安全課件
評論
0/150
提交評論