C # Как использовать значение из одной функции в другой? - PullRequest
0 голосов
/ 14 сентября 2010

Как использовать значение из функции reading в функции button1_Click?

public void reading(object sender, EventArgs e)
{
   DialogResult reading_from_folder = new DialogResult();
   reading_from_folder = folderBrowserDialog1.ShowDialog();

   if (reading_from_folder == DialogResult.OK)
   {
      string[] files_in_folder = Directory.GetFiles(folderBrowserDialog1.SelectedPath);
      ...
   }
}

private void button1_Click(object sender, EventArgs e)
{ 
   foreach (string file in files_in_folder) // How do I access files_in_folder?
   {
      ListViewItem li = new ListViewItem(file);
   }
}                

Ответы [ 2 ]

1 голос
/ 14 сентября 2010
// Make it a member variable
private string[] mFilesInFolder = null;

public void reading(object sender, EventArgs e) 
{ 
    DialogResult reading_from_folder = new DialogResult(); 
    reading_from_folder = folderBrowserDialog1.ShowDialog(); 

    if (reading_from_folder == DialogResult.OK) 
    { 
       mFilesInFolder = Directory.GetFiles(folderBrowserDialog1.SelectedPath); 
    }
}  

private void button1_Click(object sender, EventArgs e) 
{   
   DoFileInFolderOperation();
}

private void DoFilesInFolderOperation()
{
   if(mFilesInFolder != null)
   {
      foreach (string file in mFilesInFolder) 
      { 
         ListViewItem li = new ListViewItem(file); 
      }
   } 
}
1 голос
/ 14 сентября 2010

Вам нужно как-то его сохранить, например, как приватный член:

string some_value = null;

public void reading(object sender, EventArgs e)
{
    some_value = "Foobar";
}

private void button1_Click(object sender, EventArgs e)
{
    if (some_value != null)
    {
        // ...
    }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...