C#第二次作业

[csharp]  view plain copy
  1. using System;  
  2. using System.Collections.Generic;  
  3. using System.ComponentModel;  
  4. using System.Data;  
  5. using System.Drawing;  
  6. using System.Text;  
  7. using System.Windows.Forms;  
  8. using System.IO;  
  9.   
  10. namespace MyNote  
  11. {  
  12.     public partial class MainForm : Form  
  13.     {  
  14.   
  15.         private bool sView = false//状态栏的可见性  
  16.         public static string fillFindTxt = "";  //自动填写查找窗体的内容  
  17.         public static string fillReplaceKeyTxt = "";    //自动填写查找替换窗体的关键字内容  
  18.         public static string fillReplaceNewTxt = "";    自动填写替换窗体的替换内容  
  19.   
  20.         public RichTextBox RichTxt //rich编辑框属性  
  21.         {  
  22.             get { return richTxt; }  
  23.             set { richTxt = value; }  
  24.         }  
  25.   
  26.         public MainForm()  
  27.         {  
  28.             InitializeComponent();  
  29.         }  
  30.   
  31.   
  32.         //主窗体被加载  
  33.         private void MainForm_Load(object sender, EventArgs e)  
  34.         {  
  35.             statusStrip1.Visible = false;  
  36.         }  
  37.         
  38.         //新建文件  
  39.         private void NewFileTsm_Click(object sender, EventArgs e)  
  40.         {  
  41.             if (richTxt.Modified == true)  
  42.             {  
  43.                 DialogResult dResult = MessageBox.Show("文件" + this.Text + "的内容已被修改,是否保存""保存文件", MessageBoxButtons.YesNoCancel);  
  44.                 switch (dResult)  
  45.                 {  
  46.                     case DialogResult.Yes:  
  47.                         SaveAsTsm_Click(sender,e);   
  48.                         richTxt.Text="";  
  49.                         break;  
  50.                     case DialogResult.No:  
  51.                         richTxt.Text="";  
  52.                         break;    
  53.                 }  
  54.             }  
  55.         }  
  56.   
  57.         //打开文件  
  58.         private void OpenFileTsm_Click(object sender, EventArgs e)  
  59.         {  
  60.             if (richTxt.Modified == true)  
  61.             {  
  62.                 DialogResult dResult = MessageBox.Show("文件" + this.Text + "的内容已被修改,是否保存""保存文件", MessageBoxButtons.YesNoCancel);  
  63.                 switch (dResult)  
  64.                 {  
  65.                     case DialogResult.Yes:  
  66.                         SaveAsTsm_Click(sender, e);  
  67.                         break;  
  68.                     case DialogResult.No:  
  69.                         richTxt.Text = "";  
  70.                         break;  
  71.                     case DialogResult.Cancel:  
  72.                         return;  
  73.                 }  
  74.                   
  75.             }  
  76.             OpenFileDialog ofd = new OpenFileDialog();  
  77.             ofd.Filter = "文本文件(*.txt)|*.txt";  
  78.             if (ofd.ShowDialog() == DialogResult.OK)  
  79.             {  
  80.                 richTxt.LoadFile(ofd.FileName, RichTextBoxStreamType.PlainText);  
  81.                 this.Text=Path.GetFileNameWithoutExtension(ofd.FileName);  
  82.                 richTxt.Modified = false;  
  83.             }  
  84.   
  85.   
  86.         }  
  87.   
  88.         //保存文件  
  89.         private void SaveFileTsm_Click(object sender, EventArgs e)  
  90.         {  
  91.             SaveFileDialog sfd = new SaveFileDialog();  
  92.             sfd.Title = "保存";  
  93.             sfd.FileName = "*.txt";  
  94.             sfd.Filter = "文本文件(*.txt)|*.txt|所有文件|*.*";  
  95.             if (sfd.ShowDialog() == DialogResult.OK)  
  96.             {  
  97.                 richTxt.SaveFile(sfd.FileName, RichTextBoxStreamType.PlainText);  
  98.                 richTxt.Modified = false;  
  99.                 this.Text = Path.GetFileNameWithoutExtension(sfd.FileName) + "-小可记事本";  
  100.             }  
  101.         }  
  102.   
  103.         //另存为文件  
  104.         private void SaveAsTsm_Click(object sender, EventArgs e)  
  105.         {  
  106.             SaveFileDialog sfd = new SaveFileDialog();  
  107.             sfd.Title = "另保存";  
  108.             sfd.FileName = "*.txt";  
  109.             sfd.Filter = "文本文件(*.txt)|*.txt|所有文件|*.*";  
  110.             if (sfd.ShowDialog() == DialogResult.OK)  
  111.             {  
  112.                 richTxt.SaveFile(sfd.FileName, RichTextBoxStreamType.PlainText);  
  113.                 richTxt.Modified = false;  
  114.             }  
  115.         }  
  116.   
  117.         
  118.         //退出记事本  
  119.         private void ExitTsm_Click(object sender, EventArgs e)  
  120.         {  
  121.             Application.Exit();  
  122.         }  
  123.   
  124.         //代开颜色对话框  
  125.         private void ColorTsm_Click(object sender, EventArgs e)  
  126.         {  
  127.             ColorDialog cd = new ColorDialog();  
  128.             if (cd.ShowDialog() == DialogResult.OK)  
  129.             {  
  130.                 richTxt.ForeColor = cd.Color;  
  131.             }  
  132.         }  
  133.   
  134.         //打开字体对话框  
  135.         private void FontTsm_Click(object sender, EventArgs e)  
  136.         {  
  137.             FontDialog fd = new FontDialog();  
  138.             if (fd.ShowDialog() == DialogResult.OK)  
  139.             {  
  140.                 richTxt.Font = fd.Font;  
  141.             }  
  142.         }  
  143.   
  144.         //撤销  
  145.         private void UndoTsm_Click(object sender, EventArgs e)  
  146.         {  
  147.             richTxt.Undo();  
  148.         }  
  149.   
  150.         //重做  
  151.         private void RedoTsm_Click(object sender, EventArgs e)  
  152.         {  
  153.             richTxt.Redo();  
  154.         }  
  155.   
  156.         //剪切  
  157.         private void CutTsm_Click(object sender, EventArgs e)  
  158.         {  
  159.             richTxt.Cut();  
  160.         }  
  161.   
  162.         //复制  
  163.         private void CopyTsm_Click(object sender, EventArgs e)  
  164.         {  
  165.             richTxt.Copy();  
  166.         }  
  167.   
  168.         //粘贴  
  169.         private void PasteTsm_Click(object sender, EventArgs e)  
  170.         {  
  171.             richTxt.Paste();  
  172.         }  
  173.   
  174.         //删除  
  175.         private void DeleteTsm_Click(object sender, EventArgs e)  
  176.         {  
  177.             richTxt.Text.Remove(richTxt.SelectionStart, richTxt.SelectionLength);  
  178.         }  
  179.   
  180.         private void FindTsm_Click(object sender, EventArgs e)  
  181.         {  
  182.             FindForm fForm = new FindForm();  
  183.             fForm.Show(this);  
  184.         }  
  185.   
  186.         private void ReplaceTsm_Click(object sender, EventArgs e)  
  187.         {  
  188.             ReplaceForm rForm = new ReplaceForm();  
  189.             rForm.Show(this);  
  190.         }  
  191.   
  192.         private void timer1_Tick(object sender, EventArgs e)  
  193.         {  
  194.             timeTssl.Text ="当前时间 :"+ DateTime.Now.ToString();  
  195.   
  196.         }  
  197.   
  198.         private void StatesTsm_Click(object sender, EventArgs e)  
  199.         {  
  200.             sView=!sView;  
  201.             statusStrip1.Visible = sView;  
  202.         }  
  203.   
  204.         private void richTxt_MouseMove(object sender, MouseEventArgs e)  
  205.         {  
  206.             mouseTssl.Text = " 鼠标的坐标:" +"X:"+e.X.ToString()+",Y:"+e.Y.ToString();  
  207.         }  
  208.   
  209.         private void allSecTsm_Click(object sender, EventArgs e)  
  210.         {  
  211.             richTxt.SelectAll();  
  212.         }  
  213.   
  214.         //关于记事本按钮  
  215.         private void ConcerningNoteTsm_Click(object sender, EventArgs e)  
  216.         {  
  217.             ConcerningForm cForm = new ConcerningForm();  
  218.             cForm.Show(this);  
  219.         }  
  220.   
  221.         //查看帮助  
  222.         private void viewHelpTsm_Click(object sender, EventArgs e)  
  223.         {  
  224.             MessageBox.Show("百度一下,你就知道了","提示");  
  225.             System.Diagnostics.Process.Start("www.baidu.com");  
  226.         }  
  227.   
  228.   
  229.         //下面为弹出菜单  
  230.         private void 剪切TToolStripMenuItem_Click(object sender, EventArgs e)  
  231.         {  
  232.             CutTsm_Click(sender, e);  
  233.         }  
  234.   
  235.         private void 复制CToolStripMenuItem_Click(object sender, EventArgs e)  
  236.         {  
  237.             CopyTsm_Click(sender,e);  
  238.         }  
  239.   
  240.         private void 粘贴PToolStripMenuItem_Click(object sender, EventArgs e)  
  241.         {  
  242.             PasteTsm_Click(sender, e);   
  243.         }  
  244.   
  245.         private void 删除DToolStripMenuItem_Click(object sender, EventArgs e)  
  246.         {  
  247.             DeleteTsm_Click(sender, e);   
  248.         }  
  249.   
  250.         private void 全选AToolStripMenuItem_Click(object sender, EventArgs e)  
  251.         {  
  252.             allSecTsm_Click(sender, e);   
  253.         }  
  254.   
  255.         private void 撤销ToolStripMenuItem_Click(object sender, EventArgs e)  
  256.         {  
  257.             UndoTsm_Click(sender, e);   
  258.         }  
  259.   
  260.         private void 重做toolStripMenuItem_Click(object sender, EventArgs e)  
  261.         {  
  262.             RedoTsm_Click(sender, e);  
  263.         }  
  264.     }  
  265. }  

查找窗体:

[csharp]  view plain copy
  1. using System;  
  2. using System.Collections.Generic;  
  3. using System.ComponentModel;  
  4. using System.Data;  
  5. using System.Drawing;  
  6. using System.Linq;  
  7. using System.Text;  
  8. using System.Windows.Forms;  
  9.   
  10. namespace MyNote  
  11. {  
  12.     public partial class FindForm : Form  
  13.     {  
  14.         private int upPos = 0; //向上查找时的索引位置  
  15.         private int downPos = 0; //向下查找时的索引位置  
  16.         private bool isCase = false//是否区分大小写  
  17.         private bool isDown = true//是否向下查找  
  18.         private string keyText = ""//关键字  
  19.         private string mainText = ""//主窗体内容  
  20.   
  21.         public FindForm()  
  22.         {  
  23.             InitializeComponent();  
  24.           
  25.         }  
  26.   
  27.         //查找窗体被加载  
  28.         private void FindForm_Load(object sender, EventArgs e)  
  29.         {  
  30.               
  31.             RbntDown.Checked = true;  
  32.             checkBox1.Checked = false;  
  33.             if (txtInput.Text == "")  
  34.             {  
  35.                 bntFindNext.Enabled = false;  
  36.             }  
  37.             txtInput.Text = MainForm.fillFindTxt;  
  38.             mainText = ((MainForm)this.Owner).RichTxt.Text;   
  39.   
  40.         }  
  41.   
  42.         //取消按钮  
  43.         private void BntCancel_Click(object sender, EventArgs e)  
  44.         {  
  45.             this.Close();  
  46.         }  
  47.   
  48.         //区分大小写  
  49.         private void checkBox1_CheckedChanged(object sender, EventArgs e)  
  50.         {  
  51.             isCase = checkBox1.Checked;  
  52.         }  
  53.   
  54.         //方向向上查找  
  55.         private void RbtnUp_CheckedChanged(object sender, EventArgs e)  
  56.         {  
  57.             isDown = !RbtnUp.Checked;  
  58.         }  
  59.   
  60.         //方向向下查找  
  61.         private void RbntDown_CheckedChanged(object sender, EventArgs e)  
  62.         {  
  63.             isDown = RbntDown.Checked;  
  64.             upPos = mainText.Length;  
  65.         }  
  66.   
  67.         //查找按钮被按下  
  68.         private void bntFindNext_Click(object sender, EventArgs e)  
  69.         {  
  70.             keyText = txtInput.Text; //获取输入编辑框的内容  
  71.             mainText = ((MainForm)this.Owner).RichTxt.Text; //获取主窗体的内容  
  72.             if(!isCase) //不区分大小写  
  73.             {  
  74.                 mainText = mainText.ToLower();  
  75.                 keyText = keyText.ToLower();  
  76.             }  
  77.             if (isDown)  
  78.             {  
  79.                 downPos = mainText.IndexOf(keyText, downPos);  
  80.                 if (downPos < 0)  
  81.                 {  
  82.                     MessageBox.Show("未找到-" + txtInput.Text);  
  83.                     downPos = 0;  
  84.                 }  
  85.                 else  
  86.                 {  
  87.                     ((MainForm)this.Owner).RichTxt.Select(downPos, keyText.Length);  
  88.                     this.Owner.Activate();  
  89.                     downPos++;  
  90.                 }  
  91.             }  
  92.             else  
  93.             {  
  94.                 upPos = mainText.LastIndexOf(keyText, upPos);  
  95.                 if (upPos < 0)  
  96.                 {  
  97.                     MessageBox.Show("未找到-" + txtInput.Text);  
  98.                     upPos = mainText.Length;  
  99.                 }  
  100.                 else  
  101.                 {  
  102.                     ((MainForm)this.Owner).RichTxt.Select(upPos, keyText.Length);  
  103.                     this.Owner.Activate();  
  104.                     if(upPos!=0)upPos--;  
  105.                 }  
  106.    
  107.             }  
  108.               
  109.         }  
  110.   
  111.         //输入编辑框的内容被改变是,设置查找按钮的状态  
  112.         private void txtInput_TextChanged(object sender, EventArgs e)  
  113.         {  
  114.             if (txtInput.Text == "")  
  115.             {  
  116.                 bntFindNext.Enabled = false;  
  117.                   
  118.             }  
  119.             else  
  120.             {  
  121.                 bntFindNext.Enabled = true;  
  122.             }  
  123.             downPos = 0; //内容改变,查找点归0  
  124.         }  
  125.   
  126.         //窗体被关闭  
  127.         private void FindForm_FormClosed(object sender, FormClosedEventArgs e)  
  128.         {  
  129.             MainForm.fillFindTxt = txtInput.Text;  
  130.             //保存上一次输入的内容  
  131.         }  
  132.   
  133.   
  134.     }  
  135. }  

替换窗体:

[csharp]  view plain copy
  1. using System;  
  2. using System.Collections.Generic;  
  3. using System.ComponentModel;  
  4. using System.Data;  
  5. using System.Drawing;  
  6. using System.Linq;  
  7. using System.Text;  
  8. using System.Windows.Forms;  
  9.   
  10. namespace MyNote  
  11. {  
  12.     public partial class ReplaceForm : Form  
  13.     {  
  14.         private int  downPos=0; //默认为向下查找  
  15.         private bool isCase = false//默认不区分大小写  
  16.         private string mainText = ""//主窗体内容  
  17.         private string keyText = ""//查找的内容  
  18.   
  19.         public ReplaceForm()  
  20.         {  
  21.             InitializeComponent();  
  22.         }  
  23.   
  24.         //窗体被加载  
  25.         private void ReplaceForm_Load(object sender, EventArgs e)  
  26.         {  
  27.             mainText = ((MainForm)this.Owner).RichTxt.Text;  
  28.             txtFind.Text = MainForm.fillReplaceKeyTxt;  
  29.             txtReplace.Text = MainForm.fillReplaceNewTxt;  
  30.             if (txtFind.Text == "")  
  31.             {  
  32.                 bntAllRaplace.Enabled = false;  
  33.                 bntReplace.Enabled = false;  
  34.                 bntFindNext.Enabled = false;  
  35.             }  
  36.             checkBox1.Checked = false;  
  37.   
  38.         }  
  39.   
  40.         //取消按钮  
  41.         private void bntCancel_Click(object sender, EventArgs e)  
  42.         {  
  43.             this.Close();  
  44.         }  
  45.   
  46.         //查找下个按钮被单击  
  47.         private void bntFindNext_Click(object sender, EventArgs e)  
  48.         {  
  49.             mainText = ((MainForm)this.Owner).RichTxt.Text;  
  50.             keyText = txtFind.Text;  
  51.             if (!isCase) //不区分大小写  
  52.             {  
  53.                 mainText = mainText.ToLower();  
  54.                 keyText = keyText.ToLower();  
  55.             }  
  56.             downPos = mainText.IndexOf(keyText, downPos);  
  57.             if (downPos < 0)  
  58.             {  
  59.                 MessageBox.Show("未找到-" + txtFind.Text);  
  60.                 downPos = 0;  
  61.             }  
  62.             else  
  63.             {  
  64.                 ((MainForm)this.Owner).RichTxt.Select(downPos, keyText.Length);  
  65.                 this.Owner.Activate();  
  66.                 downPos++;  
  67.             }  
  68.   
  69.         }  
  70.   
  71.         //查找编辑框的内容被改变  
  72.         private void txtFind_TextChanged(object sender, EventArgs e)  
  73.         {  
  74.             if (txtFind.Text== "")  
  75.             {  
  76.                 bntAllRaplace.Enabled = false;  
  77.                 bntReplace.Enabled = false;  
  78.                 bntFindNext.Enabled = false;   
  79.             }  
  80.             else  
  81.             {  
  82.                 bntAllRaplace.Enabled = true;  
  83.                 bntReplace.Enabled = true;  
  84.                 bntFindNext.Enabled = true;   
  85.             }  
  86.             downPos = 0; //内容改变,查找点归0  
  87.         }  
  88.   
  89.         //是否区分大小写  
  90.         private void checkBox1_CheckedChanged(object sender, EventArgs e)  
  91.         {  
  92.             isCase = checkBox1.Checked;  
  93.         }  
  94.   
  95.         //替换  
  96.         private void bntReplace_Click(object sender, EventArgs e)  
  97.         {  
  98.             if (downPos != -1 && downPos != 0)  
  99.             {  
  100.                 mainText = mainText.Remove(downPos - 1, keyText.Length);  
  101.                 mainText = mainText.Insert(downPos - 1, txtReplace.Text);  
  102.                 ((MainForm)this.Owner).RichTxt.Text = mainText;  
  103.             }  
  104.         }  
  105.   
  106.         //全部替换  
  107.         private void bntAllRaplace_Click(object sender, EventArgs e)  
  108.         {  
  109.             downPos = 0;  
  110.             mainText = ((MainForm)this.Owner).RichTxt.Text;  
  111.             keyText = txtFind.Text;  
  112.             if (!isCase) //不区分大小写  
  113.             {  
  114.                 mainText = mainText.ToLower();  
  115.                 keyText = keyText.ToLower();  
  116.             }  
  117.             bool firstFlag = true;  
  118.             while (true)  
  119.             {  
  120.                 downPos = mainText.IndexOf(keyText, downPos);  
  121.                 if (downPos < 0 && firstFlag)  
  122.                 {  
  123.                     MessageBox.Show("未找到-" + txtFind.Text);  
  124.                     downPos = 0;  
  125.                     break;  
  126.                 }  
  127.                 firstFlag = false;  
  128.                 if (downPos >= 0)  
  129.                 {  
  130.                     mainText = mainText.Remove(downPos, keyText.Length);  
  131.                     mainText = mainText.Insert(downPos, txtReplace.Text);  
  132.                     downPos++;  
  133.                 }  
  134.                 else   
  135.                 {  
  136.                     ((MainForm)this.Owner).RichTxt.Text = mainText;  
  137.                     break;  
  138.                 }  
  139.             }  
  140.         }  
  141.   
  142.         //窗体被关闭  
  143.         private void ReplaceForm_FormClosed(object sender, FormClosedEventArgs e)  
  144.         {  
  145.             MainForm.fillReplaceKeyTxt = txtFind.Text;  //保存上一次输入的内容  
  146.             MainForm.fillReplaceNewTxt = txtReplace.Text;  
  147.         }  
  148.     }  
  149. }  
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
资源包主要包含以下内容: ASP项目源码:每个资源包中都包含完整的ASP项目源码,这些源码采用了经典的ASP技术开发,结构清晰、注释详细,帮助用户轻松理解整个项目的逻辑和实现方式。通过这些源码,用户可以学习到ASP的基本语法、服务器端脚本编写方法、数据库操作、用户权限管理等关键技术。 数据库设计文件:为了方便用户更好地理解系统的后台逻辑,每个项目中都附带了完整的数据库设计文件。这些文件通常包括数据库结构图、数据表设计文档,以及示例数据SQL脚本。用户可以通过这些文件快速搭建项目所需的数据库环境,并了解各个数据表之间的关系和作用。 详细的开发文档:每个资源包都附有详细的开发文档,文档内容包括项目背景介绍、功能模块说明、系统流程图、用户界面设计以及关键代码解析等。这些文档为用户提供了深入的学习材料,使得即便是从零开始的开发者也能逐步掌握项目开发的全过程。 项目演示与使用指南:为帮助用户更好地理解和使用这些ASP项目,每个资源包中都包含项目的演示文件和使用指南。演示文件通常以视频或图文形式展示项目的主要功能和操作流程,使用指南则详细说明了如何配置开发环境、部署项目以及常见问题的解决方法。 毕业设计参考:对于正在准备毕业设计的学生来说,这些资源包是绝佳的参考材料。每个项目不仅功能完善、结构清晰,还符合常见的毕业设计要求和标准。通过这些项目,学生可以学习到如何从零开始构建一个完整的Web系统,并积累丰富的项目经验。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值