1、多文档窗体实验报告精通C#与.NET4.0数据库开发实验报告实验题目:多文档窗体专 业 计算机科学与技术 学 生 姓 名 班 级 学 号 教 师 指 导 单 位 日 期 教师评语 教师签名: 年 月 日成绩评定备 注一、实验目的1. 学会在Visual Studio 2010中创建多文档应用程序。2. 学会在多文档窗体添加子窗体到父窗体。3. 学会操作、排列子窗体。二、实验环境Visual Studio 2010三、实验内容例6-1:源代码: public partial class FrmMDIMain : Form private int childFormNumber = 0; publ
2、ic FrmMDIMain( ) InitializeComponent( ); private void ShowNewForm(object sender, EventArgs e) Form childForm = new Form( ); childForm.MdiParent = this; childForm.Text = 窗口 + childFormNumber+; childForm.Show( ); private void OpenFile(object sender, EventArgs e) OpenFileDialog openFileDialog = new Ope
3、nFileDialog( ); openFileDialog.InitialDirectory = Environment.GetFolderPath(Environment.SpecialFolder.Personal); openFileDialog.Filter = 文本文件(*.txt)|*.txt|所有文件(*.*)|*.*; if (openFileDialog.ShowDialog(this) = DialogResult.OK) string FileName = openFileDialog.FileName; private void SaveAsToolStripMenu
4、Item_Click(object sender, EventArgs e) SaveFileDialog saveFileDialog = new SaveFileDialog( ); saveFileDialog.InitialDirectory = Environment.GetFolderPath(Environment.SpecialFolder.Personal); saveFileDialog.Filter = 文本文件(*.txt)|*.txt|所有文件(*.*)|*.*; if (saveFileDialog.ShowDialog(this) = DialogResult.O
5、K) string FileName = saveFileDialog.FileName; private void ExitToolsStripMenuItem_Click(object sender, EventArgs e) this.Close( ); private void CutToolStripMenuItem_Click(object sender, EventArgs e) private void CopyToolStripMenuItem_Click(object sender, EventArgs e) private void PasteToolStripMenuI
6、tem_Click(object sender, EventArgs e) private void ToolBarToolStripMenuItem_Click(object sender, EventArgs e) toolStrip.Visible = toolBarToolStripMenuItem.Checked; private void StatusBarToolStripMenuItem_Click(object sender, EventArgs e) statusStrip.Visible = statusBarToolStripMenuItem.Checked; priv
7、ate void CascadeToolStripMenuItem_Click(object sender, EventArgs e) LayoutMdi(MdiLayout.Cascade); private void TileVerticalToolStripMenuItem_Click(object sender, EventArgs e) LayoutMdi(MdiLayout.TileVertical); private void TileHorizontalToolStripMenuItem_Click(object sender, EventArgs e) LayoutMdi(M
8、diLayout.TileHorizontal); private void ArrangeIconsToolStripMenuItem_Click(object sender, EventArgs e) LayoutMdi(MdiLayout.ArrangeIcons); private void CloseAllToolStripMenuItem_Click(object sender, EventArgs e) foreach (Form childForm in MdiChildren) childForm.Close( ); private void optionsToolStrip
9、MenuItem_Click(object sender, EventArgs e) private void printPreviewToolStripMenuItem_Click(object sender, EventArgs e) private void tsmiCloseCurFrm_Click(object sender, EventArgs e) Form childForm = this.ActiveMdiChild; /获取当前活动的子窗体 if (childForm != null) childForm.Close( ); /关闭子窗体 例6-2:(1)源代码:publi
10、c partial class FrmMain : Form private int childFormNumber = 0; public FrmMain( ) InitializeComponent( ); private void ShowNewForm(object sender, EventArgs e) Form childForm = new Form( ); childForm.MdiParent = this; childForm.Text = 窗口 + childFormNumber+; childForm.Show( ); private void OpenFile(ob
11、ject sender, EventArgs e) OpenFileDialog ofdlg = new OpenFileDialog( ); /创建OpenFileDialog对象ofdlg /设置打开文件对话框的默认路径为“我的文档” ofdlg.InitialDirectory = Environment.GetFolderPath(Environment.SpecialFolder.Personal); ofdlg.Filter = 文本文件(*.txt)|*.txt; /设置只接受txt为扩展名的文件 if (ofdlg.ShowDialog(this) = DialogResult
12、.OK) /显示打开文件对话框 string fileName = ofdlg.FileName; /获取要打开的文件名 FrmReader frm = new FrmReader(fileName); /创建查看文件的子窗体frm frm.MdiParent = this; /设置子窗体frm的父窗体为当前窗体 frm.Show( ); /显示子窗体 private void SaveAsToolStripMenuItem_Click(object sender, EventArgs e) SaveFileDialog saveFileDialog = new SaveFileDialog(
13、 ); saveFileDialog.InitialDirectory = Environment.GetFolderPath(Environment.SpecialFolder.Personal); saveFileDialog.Filter = 文本文件(*.txt)|*.txt|所有文件(*.*)|*.*; if (saveFileDialog.ShowDialog(this) = DialogResult.OK) string FileName = saveFileDialog.FileName; private void ExitToolsStripMenuItem_Click(ob
14、ject sender, EventArgs e) this.Close( ); private void CutToolStripMenuItem_Click(object sender, EventArgs e) private void CopyToolStripMenuItem_Click(object sender, EventArgs e) private void PasteToolStripMenuItem_Click(object sender, EventArgs e) private void ToolBarToolStripMenuItem_Click(object s
15、ender, EventArgs e) toolStrip.Visible = toolBarToolStripMenuItem.Checked; private void StatusBarToolStripMenuItem_Click(object sender, EventArgs e) statusStrip.Visible = statusBarToolStripMenuItem.Checked; private void CascadeToolStripMenuItem_Click(object sender, EventArgs e) LayoutMdi(MdiLayout.Ca
16、scade); private void TileVerticalToolStripMenuItem_Click(object sender, EventArgs e) LayoutMdi(MdiLayout.TileVertical); private void TileHorizontalToolStripMenuItem_Click(object sender, EventArgs e) LayoutMdi(MdiLayout.TileHorizontal); private void ArrangeIconsToolStripMenuItem_Click(object sender,
17、EventArgs e) LayoutMdi(MdiLayout.ArrangeIcons); private void CloseAllToolStripMenuItem_Click(object sender, EventArgs e) foreach (Form childForm in MdiChildren) childForm.Close( ); private void aboutToolStripMenuItem_Click(object sender, EventArgs e) AboutBox dlg = new AboutBox( ); dlg.ShowDialog(th
18、is); private Color _ViewBackColor = Color.White; /阅读的背景色字段及默认值 private Color _ViewForeColor = Color.Black; /阅读的前景色字段及默认值 private Font _ViewFont = SystemFonts.DefaultFont; /阅读的字体字段及默认值 /选项菜单处理函数,打开SettingDlg,并将新参数更新到已打开的子窗体 private void optionsToolStripMenuItem_Click(object sender, EventArgs e) Setti
19、ngDlg dlg = new SettingDlg(this._ViewBackColor, /用当前阅读参数创建SettingDlg对象dlg this._ViewForeColor, this._ViewFont); if (dlg.ShowDialog(this) = DialogResult.OK) /显示参数设置对话框,并等待用户设置 this._ViewBackColor = dlg.GetBackColor( ); /获取用户最新的阅读参数 this._ViewFont = dlg.GetFont( ); this._ViewForeColor = dlg.GetForeCol
20、or( ); foreach (Form frm in this.MdiChildren) /遍历所有子窗体 FrmReader frmRd = frm as FrmReader; /如果子窗体是FrmReader类型 if (frmRd != null) /则更新最新参数到子窗体 frmRd.SetViewSettings(this._ViewBackColor, this._ViewForeColor, this._ViewFont); (2)源代码:namespace MultiTextReader partial class AboutBox : Form public AboutBo
21、x( ) InitializeComponent( ); this.Text = String.Format(关于 0 0, AssemblyTitle); this.labelProductName.Text = AssemblyProduct; this.labelVersion.Text = String.Format(版本 0 0, AssemblyVersion); this.labelCopyright.Text = AssemblyCopyright; this.labelCompanyName.Text = AssemblyCompany; this.textBoxDescription.Text = AssemblyDescription; 四、实验总结通过此次实验,我学会了在Visual Studio 2010中创建多文档应用程序;也基本掌握了在多文档窗体添加子窗体到父窗体的具体方法;对于操作、排列子窗体进行了相应的练习。实验比较顺利,并没有出现什么技术问题。
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1