您的位置:首页 > 编程语言 > C#

C#第二次作业

2015-05-06 22:18 176 查看
[csharp] view
plaincopy

using System;

using System.Collections.Generic;

using System.ComponentModel;

using System.Data;

using System.Drawing;

using System.Text;

using System.Windows.Forms;

using System.IO;

namespace MyNote

{

public partial class MainForm : Form

{

private bool sView = false; //状态栏的可见性

public static string fillFindTxt = ""; //自动填写查找窗体的内容

public static string fillReplaceKeyTxt = ""; //自动填写查找替换窗体的关键字内容

public static string fillReplaceNewTxt = ""; ////自动填写替换窗体的替换内容

public RichTextBox RichTxt //rich编辑框属性

{

get { return richTxt; }

set { richTxt = value; }

}

public MainForm()

{

InitializeComponent();

}

//主窗体被加载

private void MainForm_Load(object sender, EventArgs e)

{

statusStrip1.Visible =
20000
false;

}

//新建文件

private void NewFileTsm_Click(object sender, EventArgs e)

{

if (richTxt.Modified == true)

{

DialogResult dResult = MessageBox.Show("文件" + this.Text + "的内容已被修改,是否保存", "保存文件", MessageBoxButtons.YesNoCancel);

switch (dResult)

{

case DialogResult.Yes:

SaveAsTsm_Click(sender,e);

richTxt.Text="";

break;

case DialogResult.No:

richTxt.Text="";

break;

}

}

}

//打开文件

private void OpenFileTsm_Click(object sender, EventArgs e)

{

if (richTxt.Modified == true)

{

DialogResult dResult = MessageBox.Show("文件" + this.Text + "的内容已被修改,是否保存", "保存文件", MessageBoxButtons.YesNoCancel);

switch (dResult)

{

case DialogResult.Yes:

SaveAsTsm_Click(sender, e);

break;

case DialogResult.No:

richTxt.Text = "";

break;

case DialogResult.Cancel:

return;

}

}

OpenFileDialog ofd = new OpenFileDialog();

ofd.Filter = "文本文件(*.txt)|*.txt";

if (ofd.ShowDialog() == DialogResult.OK)

{

richTxt.LoadFile(ofd.FileName, RichTextBoxStreamType.PlainText);

this.Text=Path.GetFileNameWithoutExtension(ofd.FileName);

richTxt.Modified = false;

}

}

//保存文件

private void SaveFileTsm_Click(object sender, EventArgs e)

{

SaveFileDialog sfd = new SaveFileDialog();

sfd.Title = "保存";

sfd.FileName = "*.txt";

sfd.Filter = "文本文件(*.txt)|*.txt|所有文件|*.*";

if (sfd.ShowDialog() == DialogResult.OK)

{

richTxt.SaveFile(sfd.FileName, RichTextBoxStreamType.PlainText);

richTxt.Modified = false;

this.Text = Path.GetFileNameWithoutExtension(sfd.FileName) + "-小可记事本";

}

}

//另存为文件

private void SaveAsTsm_Click(object sender, EventArgs e)

{

SaveFileDialog sfd = new SaveFileDialog();

sfd.Title = "另保存";

sfd.FileName = "*.txt";

sfd.Filter = "文本文件(*.txt)|*.txt|所有文件|*.*";

if (sfd.ShowDialog() == DialogResult.OK)

{

richTxt.SaveFile(sfd.FileName, RichTextBoxStreamType.PlainText);

richTxt.Modified = false;

}

}

//退出记事本

private void ExitTsm_Click(object sender, EventArgs e)

{

Application.Exit();

}

//代开颜色对话框

private void ColorTsm_Click(object sender, EventArgs e)

{

ColorDialog cd = new ColorDialog();

if (cd.ShowDialog() == DialogResult.OK)

{

richTxt.ForeColor = cd.Color;

}

}

//打开字体对话框

private void FontTsm_Click(object sender, EventArgs e)

{

FontDialog fd = new FontDialog();

if (fd.ShowDialog() == DialogResult.OK)

{

richTxt.Font = fd.Font;

}

}

//撤销

private void UndoTsm_Click(object sender, EventArgs e)

{

richTxt.Undo();

}

//重做

private void RedoTsm_Click(object sender, EventArgs e)

{

richTxt.Redo();

}

//剪切

private void CutTsm_Click(object sender, EventArgs e)

{

richTxt.Cut();

}

//复制

private void CopyTsm_Click(object sender, EventArgs e)

{

richTxt.Copy();

}

//粘贴

private void PasteTsm_Click(object sender, EventArgs e)

{

richTxt.Paste();

}

//删除

private void DeleteTsm_Click(object sender, EventArgs e)

{

richTxt.Text.Remove(richTxt.SelectionStart, richTxt.SelectionLength);

}

private void FindTsm_Click(object sender, EventArgs e)

{

FindForm fForm = new FindForm();

fForm.Show(this);

}

private void ReplaceTsm_Click(object sender, EventArgs e)

{

ReplaceForm rForm = new ReplaceForm();

rForm.Show(this);

}

private void timer1_Tick(object sender, EventArgs e)

{

timeTssl.Text ="当前时间 :"+ DateTime.Now.ToString();

}

private void StatesTsm_Click(object sender, EventArgs e)

{

sView=!sView;

statusStrip1.Visible = sView;

}

private void richTxt_MouseMove(object sender, MouseEventArgs e)

{

mouseTssl.Text = " 鼠标的坐标:" +"X:"+e.X.ToString()+",Y:"+e.Y.ToString();

}

private void allSecTsm_Click(object sender, EventArgs e)

{

richTxt.SelectAll();

}

//关于记事本按钮

private void ConcerningNoteTsm_Click(object sender, EventArgs e)

{

ConcerningForm cForm = new ConcerningForm();

cForm.Show(this);

}

//查看帮助

private void viewHelpTsm_Click(object sender, EventArgs e)

{

MessageBox.Show("百度一下,你就知道了","提示");

System.Diagnostics.Process.Start("www.baidu.com");

}

//下面为弹出菜单

private void 剪切TToolStripMenuItem_Click(object sender, EventArgs e)

{

CutTsm_Click(sender, e);

}

private void 复制CToolStripMenuItem_Click(object sender, EventArgs e)

{

CopyTsm_Click(sender,e);

}

private void 粘贴PToolStripMenuItem_Click(object sender, EventArgs e)

{

PasteTsm_Click(sender, e);

}

private void 删除DToolStripMenuItem_Click(object sender, EventArgs e)

{

DeleteTsm_Click(sender, e);

}

private void 全选AToolStripMenuItem_Click(object sender, EventArgs e)

{

allSecTsm_Click(sender, e);

}

private void 撤销ToolStripMenuItem_Click(object sender, EventArgs e)

{

UndoTsm_Click(sender, e);

}

private void 重做toolStripMenuItem_Click(object sender, EventArgs e)

{

RedoTsm_Click(sender, e);

}

}

}


查找窗体:

[csharp] view
plaincopy

using System;

using System.Collections.Generic;

using System.ComponentModel;

using System.Data;

using System.Drawing;

using System.Linq;

using System.Text;

using System.Windows.Forms;

namespace MyNote

{

public partial class FindForm : Form

{

private int upPos = 0; //向上查找时的索引位置

private int downPos = 0; //向下查找时的索引位置

private bool isCase = false; //是否区分大小写

private bool isDown = true; //是否向下查找

private string keyText = ""; //关键字

private string mainText = ""; //主窗体内容

public FindForm()

{

InitializeComponent();

}

//查找窗体被加载

private void FindForm_Load(object sender, EventArgs e)

{

RbntDown.Checked = true;

checkBox1.Checked = false;

if (txtInput.Text == "")

{

bntFindNext.Enabled = false;

}

txtInput.Text = MainForm.fillFindTxt;

mainText = ((MainForm)this.Owner).RichTxt.Text;

}

//取消按钮

private void BntCancel_Click(object sender, EventArgs e)

{

this.Close();

}

//区分大小写

private void checkBox1_CheckedChanged(object sender, EventArgs e)

{

isCase = checkBox1.Checked;

}

//方向向上查找

private void RbtnUp_CheckedChanged(object sender, EventArgs e)

{

isDown = !RbtnUp.Checked;

}

//方向向下查找

private void RbntDown_CheckedChanged(object sender, EventArgs e)

{

isDown = RbntDown.Checked;

upPos = mainText.Length;

}

//查找按钮被按下

private void bntFindNext_Click(object sender, EventArgs e)

{

keyText = txtInput.Text; //获取输入编辑框的内容

mainText = ((MainForm)this.Owner).RichTxt.Text; //获取主窗体的内容

if(!isCase) //不区分大小写

{

mainText = mainText.ToLower();

keyText = keyText.ToLower();

}

if (isDown)

{

downPos = mainText.IndexOf(keyText, downPos);

if (downPos < 0)

{

MessageBox.Show("未找到-" + txtInput.Text);

downPos = 0;

}

else

{

((MainForm)this.Owner).RichTxt.Select(downPos, keyText.Length);

this.Owner.Activate();

downPos++;

}

}

else

{

upPos = mainText.LastIndexOf(keyText, upPos);

if (upPos < 0)

{

MessageBox.Show("未找到-" + txtInput.Text);

upPos = mainText.Length;

}

else

{

((MainForm)this.Owner).RichTxt.Select(upPos, keyText.Length);

this.Owner.Activate();

if(upPos!=0)upPos--;

}

}

}

//输入编辑框的内容被改变是,设置查找按钮的状态

private void txtInput_TextChanged(object sender, EventArgs e)

{

if (txtInput.Text == "")

{

bntFindNext.Enabled = false;

}

else

{

bntFindNext.Enabled = true;

}

downPos = 0; //内容改变,查找点归0

}

//窗体被关闭

private void FindForm_FormClosed(object sender, FormClosedEventArgs e)

{

MainForm.fillFindTxt = txtInput.Text;

//保存上一次输入的内容

}

}

}

替换窗体:

[csharp] view
plaincopy

using System;

using System.Collections.Generic;

using System.ComponentModel;

using System.Data;

using System.Drawing;

using System.Linq;

using System.Text;

using System.Windows.Forms;

namespace MyNote

{

public partial class ReplaceForm : Form

{

private int downPos=0; //默认为向下查找

private bool isCase = false; //默认不区分大小写

private string mainText = ""; //主窗体内容

private string keyText = ""; //查找的内容

public ReplaceForm()

{

InitializeComponent();

}

//窗体被加载

private void ReplaceForm_Load(object sender, EventArgs e)

{

mainText = ((MainForm)this.Owner).RichTxt.Text;

txtFind.Text = MainForm.fillReplaceKeyTxt;

txtReplace.Text = MainForm.fillReplaceNewTxt;

if (txtFind.Text == "")

{

bntAllRaplace.Enabled = false;

bntReplace.Enabled = false;

bntFindNext.Enabled = false;

}

checkBox1.Checked = false;

}

//取消按钮

private void bntCancel_Click(object sender, EventArgs e)

{

this.Close();

}

//查找下个按钮被单击

private void bntFindNext_Click(object sender, EventArgs e)

{

mainText = ((MainForm)this.Owner).RichTxt.Text;

keyText = txtFind.Text;

if (!isCase) //不区分大小写

{

mainText = mainText.ToLower();

keyText = keyText.ToLower();

}

downPos = mainText.IndexOf(keyText, downPos);

if (downPos < 0)

{

MessageBox.Show("未找到-" + txtFind.Text);

downPos = 0;

}

else

{

((MainForm)this.Owner).RichTxt.Select(downPos, keyText.Length);

this.Owner.Activate();

downPos++;

}

}

//查找编辑框的内容被改变

private void txtFind_TextChanged(object sender, EventArgs e)

{

if (txtFind.Text== "")

{

bntAllRaplace.Enabled = false;

bntReplace.Enabled = false;

bntFindNext.Enabled = false;

}

else

{

bntAllRaplace.Enabled = true;

bntReplace.Enabled = true;

bntFindNext.Enabled = true;

}

downPos = 0; //内容改变,查找点归0

}

//是否区分大小写

private void checkBox1_CheckedChanged(object sender, EventArgs e)

{

isCase = checkBox1.Checked;

}

//替换

private void bntReplace_Click(object sender, EventArgs e)

{

if (downPos != -1 && downPos != 0)

{

mainText = mainText.Remove(downPos - 1, keyText.Length);

mainText = mainText.Insert(downPos - 1, txtReplace.Text);

((MainForm)this.Owner).RichTxt.Text = mainText;

}

}

//全部替换

private void bntAllRaplace_Click(object sender, EventArgs e)

{

downPos = 0;

mainText = ((MainForm)this.Owner).RichTxt.Text;

keyText = txtFind.Text;

if (!isCase) //不区分大小写

{

mainText = mainText.ToLower();

keyText = keyText.ToLower();

}

bool firstFlag = true;

while (true)

{

downPos = mainText.IndexOf(keyText, downPos);

if (downPos < 0 && firstFlag)

{

MessageBox.Show("未找到-" + txtFind.Text);

downPos = 0;

break;

}

firstFlag = false;

if (downPos >= 0)

{

mainText = mainText.Remove(downPos, keyText.Length);

mainText = mainText.Insert(downPos, txtReplace.Text);

downPos++;

}

else

{

((MainForm)this.Owner).RichTxt.Text = mainText;

break;

}

}

}

//窗体被关闭

private void ReplaceForm_FormClosed(object sender, FormClosedEventArgs e)

{

MainForm.fillReplaceKeyTxt = txtFind.Text; //保存上一次输入的内容

MainForm.fillReplaceNewTxt = txtReplace.Text;

}

}

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: