private void button1_Click(object sender, EventArgs e)
        {
            OpenFileDialog ofd = new OpenFileDialog();
            ofd.Multiselect = true;//多选
            ofd.Title = "打开文件";
            ofd.Filter = "*.doc|*.doc";
            if (ofd.ShowDialog(this) == DialogResult.OK)
            {
                object miss = System.Reflection.Missing.Value;
                Word.Application word = new Word.ApplicationClass();
                object fileName = ofd.FileName;
                Word.Document doc = word.Documents.Open(ref fileName, ref  miss, ref  miss, ref  miss, ref  miss, ref  miss, ref  miss, ref  miss, ref miss, ref miss, ref miss, ref miss, ref miss, ref miss, ref miss, ref miss);
                string s = doc.Content.Text.ToString();
                s = s.Substring(0, s.IndexOf("\r"));
                s = s.Trim();
                textBox1.Text = s;
                doc.Close(ref miss, ref miss, ref miss);
                word.Quit(ref miss, ref miss, ref miss);
                releaseObj(word);
                //下面添加 word处理代码
            }
        }
我这么写了,确实能在资源管理器中多选了,但是怎么显示所提取的字符还是个问题啊。我只有一个textBox1标签,按一下Button标签,在textBox1标签中显示的还是一个文档的提取结果,当然只有一个textBox1标签话这是必然的,就算多个文档的标题被提取出来了,集中在一个textBox1标签中队我来说也没用啊。所以要多拖几个textBox1标签,但拖好之后,怎样对应着把标题显示在textBox1标签中呢?比如我选中了两个Word文档,那就要有至少两个textBox1标签来显示,选中三个文档的话,那就要有至少三个textBox1标签来显示。我可以一开始多拖几个textBox1标签,选着的文档数只要少于textBox1标签数就行了。关键是代码要怎么写呢,因为我是菜鸟,还是希望你们能稍微多花一些时间写具体一点,能让我不要改这改那的之后才能和我的代码对应起来,有时候我知道你们发的这代码是对,但我改来改去就是没法和我的代码对应起来。还请你们能多多帮忙,谢谢了啊!跪谢了!

解决方案 »

  1.   


      你可以在代码中动态的来添加textBox标签  当按下BUTTON的时候判断有几个文档,然后根据文档的个数来动态的添加textbox标签的个数
      

  2.   

    根据文件数动态添加textbox
    for(int i=0;i<5;i++)
    {
    TextBox txt=new TxtBox();
    txt.id=="txt"+i;
    txt.Text="";
    txt.Location=new Point(10,10);
    this.Controls.Add(txt);
    }
      

  3.   

    txt.id=="txt"+i;
    楼上这句写错了吧?
      

  4.   


    还是不怎么明白啊,放到我的这段代码里应该怎么写呢?还有textBox是可以动态添加了,但是怎么把多个字符对应的显示在textBox中呢?我就一个"s"来接收字符,再输出到tetxBox总不行吧?
      

  5.   


    定义
        public partial class Form1 : Form
        {
            TextBox[] txtArray;
        }事件部分            OpenFileDialog ofd = new OpenFileDialog();
                ofd.Multiselect = true;//多选
                ofd.Title = "打开文件";
                ofd.Filter = "*.txt|*.txt";
                if (ofd.ShowDialog(this) == DialogResult.OK)
                {
                    string[] strFiles = ofd.FileNames;
                    int iLength = strFiles.Length;
                    txtArray = new TextBox[iLength];
                    for (int i = 0; i < iLength; i++)
                    {
                        txtArray[i] = new TextBox();
                        txtArray[i].Location = new Point(10, 20 * i + 10);
                        this.Controls.Add(txtArray[i]);                    object miss = System.Reflection.Missing.Value;
                        Word.Application word = new Word.ApplicationClass();
                        object fileName = strFiles[i];
                        Word.Document doc = word.Documents.Open(ref fileName, ref miss, ref miss, ref miss, ref miss, ref miss, ref miss, ref miss, ref miss, ref miss, ref miss, ref miss, ref miss, ref miss, ref miss, ref miss);
                        string s = doc.Content.Text.ToString();
                        s = s.Substring(0, s.IndexOf("\r"));
                        s = s.Trim();
                        txtArray[i].Text = s;
                        doc.Close(ref miss, ref miss, ref miss);
                        word.Quit(ref miss, ref miss, ref miss);
                        releaseObj(word);
                    }
                    
                }