c__两个WIN程序窗口间传递参数的方法【转】.docxVIP

  • 3
  • 0
  • 约8.74千字
  • 约 15页
  • 2017-12-09 发布于河南
  • 举报

c__两个WIN程序窗口间传递参数的方法【转】.docx

c__两个WIN程序窗口间传递参数的方法【转】

案例:设计一个编辑处理程序,可以编辑和打印、打印预览文档。 操作方式: 1.新建一个项目,其中有两个form(Form1,Form2) 2.在Form1中添加菜单mainMenu1,一个richTextBox1(定义为Public),一个打印文档控件PrintDocument,名称为MyPrintDC。一个状态栏名称为myStatus。 菜单项有: 文件(mnFile){新建(mnNew),打开(mnOpen),保存(mnSave),页面设置(mnPageSetup),打印预览(mnPrintView),打印(mnPint),退出(mnClose)} 编辑(mnEdit){复制(mnCopy),剪切(mnCut),粘贴(mnPaste),查找(mnSearch)} 关于(mnAbout) 3.在Form2中添加一个标签:查找内容,文本(txtSearch),命令按钮(btnSearch) 查找一下个,命令按钮(btnCancel)取消 4.Form1中代码: 加入引用: using System.IO; 在控件定义阶段中加入: private StringReader myReader; private Form2 f; Form1窗体的构造函数中: f=new Form2(); f.Owner =this; f.Hide(); Form1窗体中定义一个方法CheckSave () private void CheckSave() { if (this.richTextBox1.Text!=) { if (MessageBox.Show(是否保存当前文件?,确认,MessageBoxButtons.OKCancel,MessageBoxIcon.Question)==DialogResult.OK) { this.myStatus.Text =保存文件; SaveFileDialog svfDialog=new SaveFileDialog(); svfDialog.Filter =文本文件|*.*|富文本格式文件|*.rtf|所有文件|*.*; if (svfDialog.ShowDialog()==DialogResult.OK) {????? ??? this.richTextBox1.SaveFile(svfDialog.FileName,RichTextBoxStreamType.PlainText); } } } } 新建菜单(mnNew): this.CheckSave(); this.richTextBox1.Clear(); this.myStatus.Text =新建文件; 打开菜单(mnOpen): this.CheckSave(); OpenFileDialog opfDialog=new OpenFileDialog (); opfDialog.Filter =文本文件|*.*|富文本格式文件|*.rtf|所有文件|*.*; if (opfDialog.ShowDialog()==DialogResult.OK) {????? this.richTextBox1.LoadFile(opfDialog.FileName,RichTextBoxStreamType.PlainText); } this.myStatus.Text =打开文件; 保存菜单(mnSave): this.myStatus.Text =保存文件; SaveFileDialog svfDialog=new SaveFileDialog(); svfDialog.Filter =文本文件|*.*|富文本格式文件|*.rtf|所有文件|*.*; if (svfDialog.ShowDialog()==DialogResult.OK) { this.richTextBox1.SaveFile(svfDialog.FileName,RichTextBoxStreamType.PlainText); } 打印文档控件的PrintPage事件代码(MyPrintDC): private void MyPrintDC_PrintPage(object sender, System.Drawing.Printing.PrintPageEventArgs e) { //打印文档打印页面事件代码 this.myReader=new StringReader(this.richTextBox1.Text);//定义字符读流 Graphics myGraphics=e.Graphics; Font myPrintFont=this.richTextBox1.Font; //计算一页行数 float iLinePage=e

您可能关注的文档

文档评论(0)

1亿VIP精品文档

相关文档