using System;
using System.Collections;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using System.IO;
namespace NotePad
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void tsmiAbout_Click(object sender, EventArgs e)
{
Form2 fo2 = new Form2();
fo2.Show();
}
private void tsmiOpen_Click(object sender, EventArgs e)
{
OpenFileDialog ofd = new OpenFileDialog();
ofd.Filter = "文本文件(*.txt)|*.txt";
try
{
if (ofd.ShowDialog() == DialogResult.OK)
{
StreamReader sr = new StreamReader(ofd.FileName, System.Text.Encoding.Default);
this.rtxtNotepad.Text = sr.ReadToEnd();
}
}
catch (Exception ex)
{
MessageBox.Show(ex.Message.ToString());
}
}
private string textFileName = "";
private string filePath = "";
private void tsmiNew_Click(object sender, EventArgs e)
{
textFileName = "";
if (rtxtNotepad.Text != string.Empty)
{
if (MessageBox.Show("是否保存当前文件?", "温馨提示", MessageBoxButtons.YesNoCancel, MessageBoxIcon.Information)
== DialogResult.Yes)
{
Save();
rtxtNotepad.Text = "";
}
else if (MessageBox.Show("是否保存当前文件?", "温馨提示", MessageBoxButtons.YesNoCancel, MessageBoxIcon.Information)
== DialogResult.No)
{
rtxtNotepad.Text = "";
}
}
}
private void tsmiSave_Click(object sender, EventArgs e)
{
Save();
}
private void Save()
{
if (!textFileName.Equals(""))
{
SaveFileDialog saveFile = new SaveFileDialog();
saveFile.Filter = "文本文件(*.txt)|*.txt";
StreamWriter sw = new StreamWriter(filePath, false);
sw.Write(rtxtNotepad.Text);
sw.Close();
MessageBox.Show("文件保存成功!", "温馨提示");
filePath = saveFile.FileName;
Text = textFileName ;
}
else
{
HoldFile();
}
}
private void HoldFile()
{
SaveFileDialog saveFile = new SaveFileDialog();
saveFile.Filter = "文本文件(*.txt)|*.txt";
if (saveFile.ShowDialog() == DialogResult.OK)
{
StreamWriter sw = new StreamWriter(saveFile.FileName, false);
sw.WriteLine(rtxtNotepad.Text);
sw.Close();
MessageBox.Show("文件保存成功!", "温馨提示");
filePath = saveFile.FileName;
}
if (textFileName.Equals(""))
{
FileInfo fileInfo = new FileInfo(saveFile.FileName);
Text = fileInfo.Name;
textFileName = fileInfo.Name;
}
else
{
Text = textFileName ;
}
}
private void tsmiSaveAs_Click(object sender, EventArgs e)
{
HoldFile();
}
private void tsmiClose_Click(object sender, EventArgs e)
{
Close();
}
private void tsmiUndo_Click(object sender, EventArgs e)
{
this.rtxtNotepad.Undo();
}
private void tsmiCopy_Click(object sender, EventArgs e)
{
this.rtxtNotepad.Copy();
}
private void tsmiCut_Click(object sender, EventArgs e)
{
this.rtxtNotepad.Cut();
}
private void tsmiPaste_Click(object sender, EventArgs e)
{
this.rtxtNotepad.Paste();
}
private void tsmiSelectAll_Click(object sender, EventArgs e)
{
this.rtxtNotepad.SelectAll();
}
private void tsmiDate_Click(object sender, EventArgs e)
{
rtxtNotepad.Text += "现在时间是:" + DateTime.Now.ToString();
}
private void tsmiAuto_Click(object sender, EventArgs e)
{
if (tsmiAuto.Checked == true)
{
rtxtNotepad.WordWrap = true;
}
else
{
rtxtNotepad.WordWrap = false;
}
}
private void tsmiFont_Click(object sender, EventArgs e)
{
FontDialog fontDialog = new FontDialog();
if (fontDialog.ShowDialog() == DialogResult.OK)
{
rtxtNotepad.Font = fontDialog.Font;
}
}
private void toolStripButton1_Click(object sender, EventArgs e)
{
OpenFileDialog ofd = new OpenFileDialog();
ofd.Filter = "文本文件(*.txt)|*.txt";
try
{
if (ofd.ShowDialog() == DialogResult.OK)
{
StreamReader sr = new StreamReader(ofd.FileName, System.Text.Encoding.Default);
this.rtxtNotepad.Text = sr.ReadToEnd();
}
}
catch (Exception ex)
{
MessageBox.Show(ex.Message.ToString());
}
}
private void toolStripButton2_Click(object sender, EventArgs e)
{
Save();
}
private void toolStripButton3_Click(object sender, EventArgs e)
{
HoldFile();
}
private void toolStripButton6_Click(object sender, EventArgs e)
{
this.rtxtNotepad.Copy();
}
private void toolStripButton7_Click(object sender, EventArgs e)
{
this.rtxtNotepad.Cut();
}
private void toolStripButton4_Click(object sender, EventArgs e)
{
this.rtxtNotepad.Undo();
}
private void toolStripButton5_Click(object sender, EventArgs e)
{
this.rtxtNotepad.Undo();
}
private void rtxtNotepad_TextChanged(object sender, EventArgs e)
{
int row = rtxtNotepad.GetLineFromCharIndex(rtxtNotepad.SelectionStart) + 1;
int start = rtxtNotepad.GetFirstCharIndexOfCurrentLine();
string s = rtxtNotepad.Text.Substring(start, rtxtNotepad.SelectionStart - start);
int col = GetStringLen(s) + 1;
toolStripStatusLabel1.Text = "第 " + row + " 行, 第 " + col + " 列;";
}
private int GetStringLen(string s)
{
if (!string.IsNullOrEmpty(s))
{
int len = s.Length;
for (int i = 0; i < s.Length; i++)
{
if (s[i] > 255)
len++;
}
return len;
}
return 0;
}
private void statusStrip2_ItemClicked(object sender, ToolStripItemClickedEventArgs e)
{
}
private void toolStripStatusLabel2_Click(object sender, EventArgs e)
{
}
private void timer1_Tick(object sender, EventArgs e)
{
toolStripStatusLabel2.Text ="当前时间:"+ DateTime.Now.ToString() ;
}
private void tsmiPrint_Click(object sender, EventArgs e)
{
}
private void 复制ToolStripMenuItem_Click(object sender, EventArgs e)
{
this.rtxtNotepad.Copy();
}
private void 剪切ToolStripMenuItem_Click(object sender, EventArgs e)
{
this.rtxtNotepad.Cut();
}
private void 粘贴ToolStripMenuItem_Click(object sender, EventArgs e)
{
this.rtxtNotepad.Paste();
}
private void 全选ToolStripMenuItem_Click(object sender, EventArgs e)
{
this.rtxtNotepad.SelectAll();
}
private void tsmiEdit_Click(object sender, EventArgs e)
{
if (rtxtNotepad.TextLength > 0)
{
tsmiCopy.Enabled = true;
tsmiCut.Enabled = true;
tsmiPaste.Enabled = true;
tsmiUndo.Enabled = true;
tsmiSelectAll.Enabled = true;
}
else {
tsmiCopy.Enabled = false;
tsmiCut.Enabled = false;
tsmiPaste.Enabled = false;
tsmiUndo.Enabled = false;
tsmiSelectAll.Enabled = false;
}
//if (rtxtNotepad.SelectedText.Length > 0)
//{
// tsmiCopy.Enabled = false;
// tsmiCut.Enabled = false;
// tsmiPaste.Enabled = false;
// tsmiSelectAll.Enabled = false;
//}
//else
//{
// tsmiCopy.Enabled = false;
// tsmiCut.Enabled = false;
// tsmiPaste.Enabled = false;
// tsmiSelectAll.Enabled = false;
//}
}
private void tsmiStatusStrip_Click(object sender, EventArgs e)
{
if (tsmiStatusStrip.Checked == false)
{
tsmiStatusStrip.Checked = true;
statusStrip1.Show();
}
else {
tsmiStatusStrip.Checked = false;
statusStrip1.Hide();
}
}
private void tsmiToolStrip_Click(object sender, EventArgs e)
{
if (tsmiToolStrip.Checked == false)
{
tsmiToolStrip.Checked = true;
toolStrip1.Show();
}
else
{
tsmiToolStrip.Checked = false;
toolStrip1.Hide ();
}
}
private void Form1_Load(object sender, EventArgs e)
{
}
}
}
转载于:https://my.oschina.net/u/2538590/blog/537216