RichTextBox的LoadFile步骤产生两次TextChanged事件

RichTextBox的LoadFile方法产生两次TextChanged事件!
我自己写了一个文本编辑器,用的RichTextBox,通过TextChanged事件来判断文本是否保存,退出时是否需要提示用户保存,但是,在加载文件到RichTextBox时,LoadFile产生了两次TextChanged,并且!如果是拖拽方式打开文件,经过调试发现两次产生事件的“时间”还不相同!这是怎么回事啊?完全混乱了!我自己写了个测试程序,通过TextChanged事件来也测试出确实产生了两次事件。RichTextBox的LoadFile步骤产生两次TextChanged事件
using System;
using System.Text;
using System.IO;
using System.Windows.Forms;

namespace WinFormTest
{
    public partial class Form1 : Form
    {
        private string fileName;
        private FileStream output;
        private int changeNum = 0;

        public Form1()
        {
            InitializeComponent();
            label1.Text = changeNum.ToString();
        }

        private void richTextBox1_DragEnter(object sender, DragEventArgs e)
        {
            if (e.Data.GetDataPresent(DataFormats.FileDrop))
                e.Effect = DragDropEffects.Copy;
            else
                e.Effect = DragDropEffects.None;
        }

        private void richTextBox1_DragDrop(object sender, DragEventArgs e)
        {
            fileName = ((Array)e.Data.GetData(DataFormats.FileDrop)).GetValue(0).ToString();
            output = new FileStream(fileName, FileMode.Open, FileAccess.Read);
            richTextBox1.LoadFile(output, RichTextBoxStreamType.PlainText); // LoadFile方法
        }

        private void richTextBox1_TextChanged(object sender, EventArgs e) // 文本变化事件处理!
        {
            changeNum++;
            label1.Text = changeNum.ToString(); //用于显示发生了几次这样事件
        }
    }
}

之前用TextBox的时候都还一切正常。后来改用RichTextBox就出现一大堆毛病,一下是我捣鼓了一下午的记录RichTextBox的LoadFile步骤产生两次TextChanged事件
希望有经验的大神帮忙解答一下到底该怎么处理?
------解决思路----------------------
先清空,文本改变一次,再赋值,文本又改变一次
你不要只知道文本改变了2次,你应该把文本改变时它的text属性到底是什么,保存到一个数组里,然后再调试
如果你就是不想让它执行多次,定义个全局bool变量,在执行loadfile之前把它设置成true,textchanged事件里判断它
执行完毕后重新把它设置成false
------解决思路----------------------
我的建议是把整个流程用个try,在try之前-=TextChanged事件,在try中手动做TextChange时要做的事,在finally里+=事件