C#记事本 将文件拖入文本框就读出文件中的数据(不是 将文本文件拖到启动程序上)?请各位指教!!

解决方案 »

  1.   


            private void textBox1_DragDrop(object sender, DragEventArgs e)
            {
                //拖放完成时,如果拖放的是文件则处理
                if (e.Data.GetDataPresent(DataFormats.FileDrop))
                {
                    string[] paths = (string[])e.Data.GetData(DataFormats.FileDrop);
                    MessageBox.Show(paths[0]);
                }
            }        private void textBox1_DragEnter(object sender, DragEventArgs e)
            {
                //只允许文件拖放
                if (e.Data.GetDataPresent(DataFormats.FileDrop))
                {
                    e.Effect = DragDropEffects.Copy;
                }
                else
                {
                    e.Effect = DragDropEffects.None;
                }
            }
    设置文本框AllowDrop=true;
    然后处理这2个拖放事件,在DragDrop中获得文件名后,用IO读取即可。
      

  2.   

    可是RichTextBox 控件没有这两个事件啊?我用的VS 05
      

  3.   

                this.richTextBox1.DragDrop += new DragEventHandler(richTextBox1_DragDrop);
                this.richTextBox1.DragEnter += new DragEventHandler(richTextBox1_DragEnter);
                this.richTextBox1.AllowDrop = true;有这两个事件的,你在构造函数中显示的注册就可以了。