如何从另一个函数访问文件

本文关键字:访问 文件 函数 另一个 | 更新日期: 2023-09-27 17:56:15

我目前正在开发一个C# WPF应用程序,如下所示。我想做的是,按下第一个按钮时,基本上会打开一个浏览对话框,您可以在其中选择多个文件。我也想访问我另一个按钮中的这些路径。最终,我希望能够单击浏览按钮,选择一个文件,然后按第二个按钮对路径执行功能。任何帮助将不胜感激!

private void Button_Click1(object sender, RoutedEventArgs e) //BROWSE BUTTON
{
    Microsoft.Win32.OpenFileDialog dlg = new Microsoft.Win32.OpenFileDialog();
    dlg.Multiselect = true;
    dlg.FileName = "Document"; 
    dlg.DefaultExt = ".txt";  
    dlg.Filter = "Text documents (.txt)|*.txt"; 
    foreach (String file in dlg.FileNames)
    {
      // do something
    }
}    
private void Button_Click(object sender, RoutedEventArgs e, string p)
{
    myFunction(p);
}

如何从另一个函数访问文件

您可以在 Button_Click1 方法之外拥有一个私有变量,该变量将保存所选的文件名。

string[] files;
private void Button_Click1(object sender, RoutedEventArgs e) //BROWSE BUTTON
{
    Microsoft.Win32.OpenFileDialog dlg = new Microsoft.Win32.OpenFileDialog();
    dlg.Multiselect = true;
    dlg.FileName = "Document"; 
    dlg.DefaultExt = ".txt";  
    dlg.Filter = "Text documents (.txt)|*.txt"; 
    Nullable<bool> result = dlg.ShowDialog();
    if (result == true)
        files = dlg.FileNames;
    else
    {
        //Do something useful if the user cancels the dialog
    }
} 

然后在其他方法中,只需引用 files 变量,该变量将保存所选文件名数组。

用法示例:

for (int i = 0; i < files.Length; i++)
{
    myFunction(files[i]);
}

上面的代码将循环访问数组中的每个文件并调用 myFunction 方法。