看了一个教科书的程序,但是运行不了,还有很多疑惑,请帮助
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自动维护的代码
[解决办法]
楼上正解...查看一下MSDN就明白了...现在的教科书怎么了?也不说清楚.
[解决办法]
另外说一下openFileDialog是文件选择对话框控件
而openFileDialog1.FileNames是用户选择的组件(可以多选自然就可以是集合),赋值过程在控件内部封装,程序员不必理会他到底怎么赋值的,你只要会用即可。
[解决办法]
openFileDialog1.FileNames已经在选择了文档,你按下OK后被赋值了。
参考以下代码:
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 OpenFileDialogDemo
{
public partial class Form1 : Form
{
//object vars
OpenFileDialog openFileDialog1;
//constructor
public Form1()
{
InitializeComponent();
}
//handler: handles form load event
private void Form1_Load(object sender, EventArgs e)
{
openFileDialog1= new OpenFileDialog(); //create object
openFileDialog1.InitialDirectory = "C:\\";
openFileDialog1.Multiselect = true;
openFileDialog1.Filter = "*.exe(可执行文件)
[解决办法]
*.exe
[解决办法]
*.*(所有文件)
[解决办法]
*.*";
openFileDialog1.FilterIndex = 2;
}
//handler: select file button clicked
private void button1_Click(object sender, EventArgs e)
{
//show dialog and get selected files in the dialog object
if (null != openFileDialog1&& DialogResult.OK == openFileDialog1.ShowDialog())
{
//display selected file names joined with new line chars
textBox1.Text = string.Join("\r\n", openFileDialog1.FileNames);
}
}
}
}
下载连接:http://download.csdn.net/detail/freedigits/5197408