为了弄这个记事本用了我好久时间,各种上网查资料,目前实现功能不多,有新建,打开,保存,另存为,查找,查找下一个等,应该目前是网上最全面的吧,虽然没有完全实现,废话不多说,直接开始
使用控件截图
form1截图
form2截图
form3截图
form5截图
form代码:
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;
using System.IO;
using System.Diagnostics;
namespace windows_txt
{
public partial class Form1 : Form
{
public int a = 0;
public int i = -1;
public int k = 0;
public int j = 0;
public int b = 0;
public int c = 0;
public int d = 0;
public int f = 0;
public string rtb = "";
private FontDialog fontDialog1 = new FontDialog();
private OpenFileDialog spenFileDialog1 = new OpenFileDialog();
//private SaveFileDialog saveFileDialog1 = new SaveFileDialog();
public Form1()
{
InitializeComponent();
}
[System.Runtime.InteropServices.DllImport("User32.DLL")]
public static extern int SendMessage(IntPtr hWnd, uint Msg, int wParam, int iParam);
private const int EM_LINEFROMCHAR = 0xC9;
private const int EM_LINEINDEX = 0xBB;
private Point GetCursorPos(RichTextBox richtextBox)
{
Point cursorPos = new Point(0, 0);
int x, y;
y = SendMessage(richtextBox.Handle, EM_LINEFROMCHAR, richtextBox.SelectionStart, 0);
x = richtextBox.SelectionStart - SendMessage(richtextBox.Handle, EM_LINEINDEX, y, 0);
cursorPos.Y = ++y;
cursorPos.X = ++x;
return cursorPos;
}
private void Form1_Load(object sender, EventArgs e)
{
自动换行ToolStripMenuItem.Checked = false;
d = 1;
saveFileDialog1.FileName = "*.txt";
openFileDialog1.FileName = "*.txt";
richTextBox1.ContextMenuStrip = contextMenuStrip1;
timer1.Enabled = true;
timer1.Interval = 100;
this.toolStripStatusLabel1.Text = "系统当前时间:" + DateTime.Now.ToString();
}
private void Form1_FormClosing(object sender, FormClosingEventArgs e) //关闭窗口弹出对话框,在Form1的事件中加入FormClosing事件。
{
DialogResult result;
try
{
if (rtb != richTextBox1.Text)
{
result = MessageBox.Show("文件 " + this.Text + " 的文字已经改变。\r\n\r\n想保存文件吗?", "记事本", MessageBoxButtons.YesNoCancel, MessageBoxIcon.Exclamation);
if (result == DialogResult.Yes)
{
saveFileDialog1.Filter = @"文本文档(*.txt)|*.txt|所有格式|*.txt;*.doc;*.cs;*.rtf;*.sln";
if (saveFileDialog1.ShowDialog() == DialogResult.Yes)
{
richTextBox1.SaveFile(saveFileDialog1.FileName.ToString(), RichTextBoxStreamType.PlainText);
richTextBox1.Text = "";
}
else
{
e.Cancel = true;
}
}
else if (result == DialogResult.No)
{