https://blog.csdn.net/weixin_40695088/article/details/89363270
1、或许系统日期和时间,
向Form1窗口添加一个statusStrip控件(新建在Form1的底部),在statusStrip控件的item属性添加toolStripStatusLabel1和toolStripStatusLabel2,添加Timer控件,在Tick事件写下面的代码,增加下面的代码在Form1_Load中。
private void Form1_Load(object sender, EventArgs e) { this.timer1.Interval = 1000; this.timer1.Start(); } private void timer1_Tick(object sender, EventArgs e) { this.toolStripStatusLabel1.Text = "系统当前时间:" + DateTime.Now.ToString("yyyy-MM-dd hh:mm:ss"); }
实现子菜单中(ToolStripMenuItem)的时间和日期功能,编写ToolStripMenuItem_Click事件
private void 日期ToolStripMenuItem_Click(object sender, EventArgs e) { MessageBox.Show("系统当日期为:" + DateTime.Now.ToString("yyyy-MM-dd "),"实时日期"); } private void 时间ToolStripMenuItem_Click(object sender, EventArgs e) { MessageBox.Show("系统当时间为:" + DateTime.Now.ToString(" hh:mm:ss"), "实时时间"); }
2、查找和替换功能
实现richtextbox的查找替换功能需要自己写一个窗口,再关联到主窗口中。
Form2窗口的具体代码如下,详见注释!
using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Windows.Forms; namespace MDI { public partial class Form2 : Form { //实现对form1的关联 Form1 mainfrom1; public Form2(Form1 form1) { InitializeComponent(); mainfrom1 = form1; } private void Form2_Load(object sender, EventArgs e) { radioButton2.Checked = true;//默认开启向下查找功能 } int start = 0; int sun = 0; int count = 0; private void button1_Click(object sender, EventArgs e) { RichTextBox rbox = mainfrom1.RichTxtBox; string str = this.textBox1.Text; if (this.checkBox1.Checked)//是否开启区分大小写功能 { this.FindDownM(rbox, str);//向下查找 } else { if (this.radioButton2.Checked) { this.FindDown(rbox, str); } else { this.FindUp(rbox, str);//向上查找 } } } //替换textBox1中的文本为textBox2中的文本 private void button2_Click(object sender, EventArgs e) { string str0 = this.textBox1.Text, str1 = this.textBox2.Text; this.replace(str0, str1); } //全部替换 private void button3_Click(object sender, EventArgs e) { RichTextBox rbox =mainfrom1.RichTxtBox; string str0 = this.textBox1.Text, str1 = this.textBox2.Text; this.ReplaceAll(rbox, str0, str1); } private void button4_Click(object sender, EventArgs e) { this.Close(); } //向上查找函数 private void FindUp(RichTextBox rbox, string str) { int rbox1 = rbox.SelectionStart; int index = rbox.Find(str, 0, rbox1, RichTextBoxFinds.Reverse); if (index > -1) { rbox.SelectionStart = index; rbox.SelectionLength = str.Length; sun++; rbox.Focus(); } else if (index < 0) { seeks(str); sun = 0; // rbox.SelectionStart = rbox.Text.Length; } } private void FindDown(RichTextBox rbox, string str) { int rbox1 = rbox.Text.Length; if (start < rbox1) { start = rbox.Find(str, start, RichTextBoxFinds.None); int los = rbox.SelectionStart + str.Length; if ((start < 0) || (start > rbox1)) { if (count == 0) { this.seeks(str); start = los; sun = 0; } else { this.seeks(str); start = los; sun = 0; } } else if (start == rbox1 || start < 0) { this.seeks(str); start = los; sun = 0; } else { sun++; start = los; rbox.Focus(); } } else if (start == rbox1 || start < 0) { int los = rbox.SelectionStart + str.Length; this.seeks(str); start = los; sun = 0; } else { int los = rbox.SelectionStart + str.Length; this.seeks(str); start = los; sun = 0; } } private void FindDownM(RichTextBox rbox, string str) { int rbox1 = rbox.Text.Length; if (start < rbox1) { start = rbox.Find(str, start, RichTextBoxFinds.MatchCase); int los = rbox.SelectionStart + str.Length; if ((start < 0) || (start > rbox1)) { if (count == 0) { this.seeks(str); start = los; sun = 0; } else { this.seeks(str); start = los; sun = 0; } } else if (start == rbox1 || start < 0) { this.seeks(str); start = los; sun = 0; } else { sun++; start = los; rbox.Focus(); } } else if (start == rbox1 || start < 0) { int los = rbox.SelectionStart + str.Length; this.seeks(str); start = los; sun = 0; } else { int los = rbox.SelectionStart + str.Length; this.seeks(str); start = los; sun = 0; } } //查找完毕后的弹窗 private void seeks(string str) { if (sun != 0) { MessageBox.Show(string.Format("查找完毕,共[{0}]个\"{1}\"!", sun, str), "查找—温馨提示"); } else { MessageBox.Show(String.Format("\"{0}\"!", str), "查找—温馨提示"); } } //替换全部的函数 private void ReplaceAll(RichTextBox rbox,string str0,string str1) { rbox.Text = rbox.Text.Replace(str0, str1); } private void replace(string str0,string str1) { RichTextBox rbox =mainfrom1.RichTxtBox; rbox.SelectionLength = str0.Length; rbox.SelectedText = str1; } private void textBox1_TextChanged(object sender, EventArgs e) { this.button1.Enabled = true; } } }
参考博客:https://blog.csdn.net/ou832339/article/details/23781661
另外,需要在form1主窗口中添加
public RichTextBox RichTxtBox { get { return this.richTextBox1; } set { this.richTextBox1 = value; } }