日期:2014-05-17  浏览次数:21035 次

看了一个教科书的程序,但是运行不了,还有很多疑惑,请帮助
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;

namespace UseOpenFileDialog
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }

        private void Form1_Load(object sender, EventArgs e)
        {
            //下面的这个openFileDialog1 也没有定义,怎嘛就直接用了呢
            openFileDialog1.InitialDirectory = "C:\\";
            openFileDialog1.Multiselect = true;
            openFileDialog1.Filter = "*.exe(可执行文件)|*.exe|*.*(所有文件)|*.*";
            openFileDialog1.FilterIndex = 2;
        }

        private void button1_Click(object sender, EventArgs e)
        {
            if(openFileDialog1.ShowDialog()==DialogResult.OK ) 
            {
                for (int i = 0; i < openFileDialog1.FileNames.Length; i++)
                    //这里的FileNames 就是一个数组吗 ?要是的话怎嘛赋的值
                {
                    richTextBox1.Text += openFileDialog1.FileNames[i].ToString() + "\n";
                }
            }
        }
    }
}

------解决方案--------------------
拖放控件是可以直接使用啊
是否数组可断点查看就知道
------解决方案--------------------
如果你拖了openFileDialog控件是可以直接用的,你也可以自己定义
 OpenFileDialog openFileDialog1 = new OpenFileDialog();
至于
openFileDialog1.FileNames.Length
这个是你选择要打开的文件并按了确定,它就会获取你选定文件的文件名。
多看看msdn介绍
------解决方案--------------------
winfrom程序,openFileDialog1是拖到UI里的控件,这种拖进来的控件,代码申明是IDE在design.cs里自动完成的,程序员一般不用理会他

ps:早期的IDE,把这些代码也放在主体cs文件里面,只是因为基本上程序员们都不太理会这种自动生成的代码,嫌放在主体声明里这些“废代码”太过碍眼,所以后期的IDE就单独弄了一个design.cs存放这种俺们一般不用理会的由ide自动维护的代码
------解决方案--------------------
引用:
拖放控件是可以直接使用啊
是否数组可断点查看就知道