⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 mdichild.cs

📁 多文档编辑,可同时编辑多个文本文档文件,比windows自带的记事本方便多了.
💻 CS
📖 第 1 页 / 共 2 页
字号:
			// 
			this.cut.Index = 2;
			this.cut.Text = "剪切(&T)";
			this.cut.Click += new System.EventHandler(this.cut_Click);
			// 
			// seleAll
			// 
			this.seleAll.Index = 3;
			this.seleAll.Text = "全选(&A)";
			this.seleAll.Click += new System.EventHandler(this.seleAll_Click);
			// 
			// menuItem13
			// 
			this.menuItem13.Index = 4;
			this.menuItem13.Text = "-";
			// 
			// Del
			// 
			this.Del.Index = 5;
			this.Del.Text = "删除(&D)";
			this.Del.Click += new System.EventHandler(this.Del_Click);
			// 
			// undo
			// 
			this.undo.Index = 6;
			this.undo.Text = "撤销(&U)";
			this.undo.Click += new System.EventHandler(this.undo_Click);
			// 
			// MDIChild
			// 
			this.AutoScaleBaseSize = new System.Drawing.Size(6, 14);
			this.ClientSize = new System.Drawing.Size(424, 421);
			this.Controls.Add(this.printPreviewControl1);
			this.Controls.Add(this.richTextBox1);
			this.Menu = this.mainMenu1;
			this.Name = "MDIChild";
			this.Text = "MDIChild";
			this.WindowState = System.Windows.Forms.FormWindowState.Maximized;
			this.Closing += new System.ComponentModel.CancelEventHandler(this.MDIChild_Closing);
			this.Load += new System.EventHandler(this.MDIChild_Load);
			this.ResumeLayout(false);

		}
		#endregion
		public void CheckSave()
		{
			if(this.richTextBox1.Text!=null)
			{
				if(MessageBox.Show("是否保存当前文档","确认保存",MessageBoxButtons.YesNoCancel)==DialogResult.Yes)
				{
					menuItem2_Click(null,null);
				}
			}
		}

		private void menuItem2_Click(object sender, System.EventArgs e)
		{
			SaveFileDialog sfDlg=new SaveFileDialog();
			sfDlg.Filter="Rich Text format files(*.rtf)|*.rtf|All files(*.*)|*.*";
			sfDlg.FilterIndex=1;
			sfDlg.DefaultExt="rtf";
			sfDlg.AddExtension=true;
			sfDlg.RestoreDirectory=true;
			if(sfDlg.ShowDialog()==DialogResult.OK)
			{
				richTextBox1.SaveFile(sfDlg.FileName);
				this.Text=sfDlg.FileName;
			}
		}

		private void menuItem3_Click(object sender, System.EventArgs e)
		{
			if(this.pageSetupDialog1.ShowDialog()==DialogResult.OK)
				try
				{
					this.pageSetupDialog1.ShowDialog();
				}
				catch
				{

				}
		}

		private void richTextBox1_TextChanged(object sender, System.EventArgs e)
		{
		
		}

		private void MDIChild_Load(object sender, System.EventArgs e)
		{
			this.printPreviewControl1.Hide();
//			Class1.RTBox=this.richTextBox1.SaveFile(Class1.file);
		} 
//        剪切的操作                                                                                                                                          
		private void menuItem8_Click(object sender, System.EventArgs e)
		{
			if(this.richTextBox1.SelectedText!="")
			{
				this.richTextBox1.Cut();
			}
		}
//复制所选的文本
		private void menuItem9_Click(object sender, System.EventArgs e)
		{
			if(this.richTextBox1.SelectionLength>0)
			{
				this.richTextBox1.Copy();
			}
		}
//粘贴操作
		private void menuItem10_Click(object sender, System.EventArgs e)
		{
			if(Clipboard.GetDataObject().GetDataPresent(DataFormats.Text)==true)
			{
				if(this.richTextBox1.SelectionLength>0)
				{
					if(MessageBox.Show("你想覆盖掉选择的文本吗?","确认覆盖",MessageBoxButtons.OKCancel,MessageBoxIcon.Information)==DialogResult.Cancel)
					{
						this.richTextBox1.SelectionStart=this.richTextBox1.SelectionStart+this.richTextBox1.SelectionLength;
					}
				}
				this.richTextBox1.Paste();
			}
		}
//删除文本
		private void menuItem11_Click(object sender, System.EventArgs e)
		{
			try
			{
				this.richTextBox1.SelectedText.Remove(1,this.richTextBox1.SelectionLength);
			}
			catch(Exception ex)
			{
				MessageBox.Show(ex.Message);
			}
		}
//		全选操作
		private void menuItem12_Click_1(object sender, System.EventArgs e)
		{
			this.richTextBox1.SelectAll();
		}
//		撤销操作
		private void Un_Click(object sender, System.EventArgs e)
		{
			if(this.richTextBox1.CanUndo==true)
			{
				this.richTextBox1.Undo();
				this.richTextBox1.ClearUndo();
			}
		}
//打印
		private void menuItem6_Click(object sender, System.EventArgs e)
		{
			MySReader=new StringReader(this.richTextBox1.Text);
			if(this.printDialog1.ShowDialog()==DialogResult.OK)
			{
				try
				{
					this.printDocument1.Print();
				}
				catch
				{
                   this.printDocument1.PrintController.OnEndPrint(this.printDocument1,new System.Drawing.Printing.PrintEventArgs());
				}
			
			}
			
		}

		private void menuItem5_Click(object sender, System.EventArgs e)
		{
			StringReader lineReader=new StringReader(this.richTextBox1.Text);
			if(this.printPreviewDialog1.ShowDialog()==DialogResult.OK)
			{
				try
				{
					this.printPreviewControl1.Show();
				}
				catch(Exception ex)
				{
					MessageBox.Show(ex.Message,"打印出错",MessageBoxButtons.OK,MessageBoxIcon.Error);
                    this.printDocument1.PrintController.OnEndPrint(this.printDocument1,new System.Drawing.Printing.PrintEventArgs());

				}
			}
		}
		private void MyPrintDC_PrintPage(object sender, System.Drawing.Printing.PrintPageEventArgs e)
		{
			Graphics MyGraphics = e.Graphics ;
			Font MyPrintFont = this.richTextBox1.Font ;
			//每一页的行数
			float iLinePerPage = e.MarginBounds.Height  / MyPrintFont.GetHeight (MyGraphics);
			int iLineNumber = 0; //打印时的行计数器
			float fYPosition = 0;//打印时的纵坐标
			float fMarginLeft = e.MarginBounds .Left ;
			float fMarginTop = e.MarginBounds .Top;
			string strLine = ""; //每一行要打印的文本
			while ((iLineNumber < iLinePerPage) && 
				((strLine = MySReader.ReadLine ())!=null))
			{
				fYPosition = fMarginTop + iLineNumber * MyPrintFont.GetHeight(MyGraphics);
				MyGraphics.DrawString (strLine, MyPrintFont, new SolidBrush (Color.Black ),fMarginLeft ,fYPosition,new StringFormat ());
				iLineNumber ++;
			}
			if (strLine!= null)
			{
				e.HasMorePages = true;//没有打印完,出发下一次PrintPage事件
			}
			else 
			{
				e.HasMorePages = false;
			}

		}
//    上下文菜单的操作
		private void menuItem12_Click(object sender, System.EventArgs e)
		{
			this.menuItem9_Click(null,null);
		}

		private void paste_Click(object sender, System.EventArgs e)
		{
		    this.menuItem10_Click(null,null);
		}

		private void cut_Click(object sender, System.EventArgs e)
		{
			this.menuItem8_Click(null,null);
		}
		private void seleAll_Click(object sender, System.EventArgs e)
		{
			this.menuItem12_Click_1(null,null);
		}
		private void undo_Click(object sender, System.EventArgs e)
		{
		    this.undo_Click(null,null);
		}
		private void Del_Click(object sender, System.EventArgs e)
		{
		   this.menuItem11_Click(null,null);
		}

		private void menuItem4_Click(object sender, System.EventArgs e)
		{
			PrintDialog printDialog=new PrintDialog();
			printDialog.Document=this.printDocument1;
			printDialog.ShowDialog();
			
		}
//关闭窗口的提示
		private void MDIChild_Closing(object sender, System.ComponentModel.CancelEventArgs e)
		{
			if(MessageBox.Show("要关闭窗体吗?","提示",MessageBoxButtons.OKCancel,MessageBoxIcon.Information)==DialogResult.OK)
			{

			}
			else
			{
				e.Cancel=true;
			}
		}

		private void menuItemEdit_Click(object sender, System.EventArgs e)
		{
		
		}
//        菜单的Popu 事件
		private void menuItemEdit_Popup(object sender, System.EventArgs e)
		{
			if(Clipboard.GetDataObject().GetDataPresent(DataFormats.Text))
			{
				this.menuItem10.Enabled=true;
			}
			else
			{
				this.menuItem10.Enabled=false;
			}
			if(this.richTextBox1.SelectedText.Length>0)
			{
				this.menuItem11.Enabled=true;
				this.menuItem8.Enabled=true;
				this.menuItem9.Enabled=true;
			}
			else
			{
				this.menuItem11.Enabled=false;
				this.menuItem8.Enabled=false;
				this.menuItem9.Enabled=false;
			}
//			根据文本框是否可执行撤销操作,决定撤销是否可用
			if(this.richTextBox1.CanUndo==true)
			{
				this.Un.Enabled=true;
			}
			else
			{
				this.Un.Enabled=false;
			}
		}

		
		
	}
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -