C# 如何使用FileOpenDialog在C中打开文件
我试图通过按下一个按钮打开一个文件,更准确地说是一个标签,但它的工作原理是一样的 由于某种原因,当文件对话框打开,我选择文件并按open时,它不会打开文件,而是关闭文件对话框C# 如何使用FileOpenDialog在C中打开文件,c#,.net,visual-studio,C#,.net,Visual Studio,我试图通过按下一个按钮打开一个文件,更准确地说是一个标签,但它的工作原理是一样的 由于某种原因,当文件对话框打开,我选择文件并按open时,它不会打开文件,而是关闭文件对话框 private void selectLbl_Click(object sender, EventArgs e) { OpenFileDialog ofd = new OpenFileDialog(); ofd.InitialDirectory = "c:\\"; ofd.Filter = "Sc
private void selectLbl_Click(object sender, EventArgs e)
{
OpenFileDialog ofd = new OpenFileDialog();
ofd.InitialDirectory = "c:\\";
ofd.Filter = "Script files (*.au3)|*.au3";
ofd.RestoreDirectory = true;
ofd.Title = ("Select Your Helping Script");
if (ofd.ShowDialog() == DialogResult.OK)
{
ofd.OpenFile(); //Not sure if there is supposed to be more here
}
}
正在以字节流的形式返回文件的内容,如所述。如果要按所述方式打开文件,请使用
if (ofd.ShowDialog() == DialogResult.OK)
{
System.Diagnostics.Process.Start(ofd.FileName);
}
因此,您选择的文件从关联的应用程序开始
正在以字节流的形式返回文件的内容,如所述。如果要按所述方式打开文件,请使用
if (ofd.ShowDialog() == DialogResult.OK)
{
System.Diagnostics.Process.Start(ofd.FileName);
}
因此,您选择的文件从关联的应用程序开始。OpenFileDialog不是打开文件的对话框。它仅通过一个对话框与操作员进行通信,如果程序需要知道打开哪个文件,通常会显示该对话框。因此,它只是一个对话框,而不是一个文件开启器 如果用户按“确定”或“取消”,您可以决定要执行的操作:
private void selectLbl_click(object sender, ...)
{
using (OpenFileDialog ofd = new OpenFileDialog())
{
ofd.InitialDirectory = "c:\\";
ofd.Filter = "Script files (*.au3)|*.au3";
ofd.RestoreDirectory = true;
ofd.Title = ("Select Your Helping Script");
var dlgResult = ofd.ShowDialog(this);
if (dlgResult == DialogResult.OK)
{ // operator pressed OK, get the filename:
string fullFileName = ofd.FileName;
ProcessFile(fullFileName);
}
}
}
if (ofd.ShowDialog() == DialogResult.OK)
{
ofd.OpenFile(); //Not sure if there is supposed to be more here
}
OpenFileDialog不是打开文件的对话框。它仅通过一个对话框与操作员进行通信,如果程序需要知道打开哪个文件,通常会显示该对话框。因此,它只是一个对话框,而不是一个文件开启器 如果用户按“确定”或“取消”,您可以决定要执行的操作:
private void selectLbl_click(object sender, ...)
{
using (OpenFileDialog ofd = new OpenFileDialog())
{
ofd.InitialDirectory = "c:\\";
ofd.Filter = "Script files (*.au3)|*.au3";
ofd.RestoreDirectory = true;
ofd.Title = ("Select Your Helping Script");
var dlgResult = ofd.ShowDialog(this);
if (dlgResult == DialogResult.OK)
{ // operator pressed OK, get the filename:
string fullFileName = ofd.FileName;
ProcessFile(fullFileName);
}
}
}
if (ofd.ShowDialog() == DialogResult.OK)
{
ofd.OpenFile(); //Not sure if there is supposed to be more here
}
将用户选择的文件作为流打开,您可以使用该流从文件中读取
您对该流所做的取决于您试图实现的目标。例如,您可以读取和输出所有行:
if (ofd.ShowDialog() == DialogResult.OK)
{
using (TextReader reader = new StreamReader(ofd.OpenFile()))
{
string line;
while((line = t.ReadLine()) != null)
Console.WriteLine(line);
}
}
或者,如果是xml文件,则可以将其解析为xml:
if (ofd.ShowDialog() == DialogResult.OK)
{
using(XmlTextReader t = new XmlTextReader(ofd.OpenFile()))
{
while (t.Read())
Console.WriteLine($"{t.Name}: {t.Value}");
}
}
将用户选择的文件作为流打开,您可以使用该流从文件中读取
您对该流所做的取决于您试图实现的目标。例如,您可以读取和输出所有行:
if (ofd.ShowDialog() == DialogResult.OK)
{
using (TextReader reader = new StreamReader(ofd.OpenFile()))
{
string line;
while((line = t.ReadLine()) != null)
Console.WriteLine(line);
}
}
或者,如果是xml文件,则可以将其解析为xml:
if (ofd.ShowDialog() == DialogResult.OK)
{
using(XmlTextReader t = new XmlTextReader(ofd.OpenFile()))
{
while (t.Read())
Console.WriteLine($"{t.Name}: {t.Value}");
}
}
对因为它会返回文件的路径—然后由您决定如何处理它;返回一个流,以允许程序读取文件,而不是打开文件本身,以便用户查看在选择文件后您希望发生什么?是。。因为它会返回文件的路径—然后由您决定如何处理它;返回一个流,以允许程序读取文件,而不是打开文件本身,以便用户看到在您选择文件后会发生什么?OpenFileDialog不是打开文件的对话框。这不是真的,OpenFile确实打开了文件,但返回了一个打开的文件流。OpenFileDialog不是打开文件的对话框。这不是真的,OpenFile确实打开了文件,但返回了一个打开的文件流。