如何获取变量"SafeFileNames"从另一个方法
本文关键字:quot SafeFileNames 方法 另一个 变量 何获取 获取 | 更新日期: 2023-09-27 18:16:46
如何从另一种方法获得变量"SafeFileNames" ?在按钮1中,我有OpenFileDialog,在按钮2中,我想获得所有文件名。
我使用loop:
foreach (string fileName in openFileDialog1.SafeFileNames)
和在公共部分类形式我有:public string[] fileName { get; private set; }
但它不起作用。我可以创建一个新的数组,然后用第一个方法填充但我在寻找另一个更好的解决方案。
<标题>代码:我有这样的东西:
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
public string[] fileName { get; private set; }
int numberOfFiles { get; set; }
public void button1_Click(object sender, EventArgs e)
{
OpenFileDialog openFileDialog1 = new OpenFileDialog();
openFileDialog1.CheckFileExists = true;
openFileDialog1.CheckPathExists = true;
openFileDialog1.DefaultExt = "txt";
openFileDialog1.Filter = "Text files (*.txt)|*.txt";
openFileDialog1.FilterIndex = 2;
openFileDialog1.RestoreDirectory = true;
openFileDialog1.ReadOnlyChecked = true;
openFileDialog1.ShowReadOnly = false;
openFileDialog1.Multiselect = true;
textBox1.Text = "";
if (openFileDialog1.ShowDialog() == DialogResult.OK)
{
int number = 0;
foreach (string fileName in openFileDialog1.SafeFileNames)
{
}
}
}
public void button2_Click(object sender, EventArgs e)
{
HERE - I want to know string from openFileDialog1.SafeFileNames
}
现在string[] fileName
为空
如果您从第一个方法调用第二个方法,您可以将字符串数组传递给第二个方法。否则,可以在类中使用私有字段来引用数组并在第二个方法中使用。
Edit:你可以这样编辑你的代码:
public Form1()
{
InitializeComponent();
}
public string[] fileNames { get; private set; }
int numberOfFiles { get; set; }
public void button1_Click(object sender, EventArgs e)
{
//Your openFileDialog1 initialisation and other stuff here
if (openFileDialog1.ShowDialog() == DialogResult.OK)
{
fileNames = openFileDialog1.SafeFileNames;
numberOfFiles = fileName.Length;
}
}
public void button2_Click(object sender, EventArgs e)
{
foreach (string fileName in fileNames)
{
//You can access the name of each file using fileName now
}
}
我想你对foreach循环中的迭代变量有一些混淆。