title: Matching enum with combo box list doesn't seem to work
body: <p>[UPDATE: Added <code>Form1()</code> constructor]</p>
  
  <p>I am trying to match some data from certain clases into combo box values in windows form application.</p>
  
  <p>What I've done until now looks like this:</p>
  
  <p>(This class has some <code>region[]</code> values that I want to store in a combobox, depending on <code>enum Project</code>)</p>
  
  <pre><code>public Form1()
  {
      formatWorker.DoWork += worker_DoWork;
      formatWorker.RunWorkerCompleted += worker_RunWorkerCompleted;
  
      extractWorker.DoWork += extractWorker_DoWork;
      extractWorker.ProgressChanged += extractWorker_ProgressChanged;
      extractWorker.RunWorkerCompleted += extractWorker_RunWorkerCompleted;
  
      InitializeComponent();
      projectBox.DataSource = Constant.projects.ToString(); 
      projectBox.SelectedIndex = (int)Regions.Project.NBTevo;
      PopulateUsbDevices();
  }
  
  class Regions
  {
      public enum Project
      {
          NBT = 0,
          NBTevo = 1,
          MGU = 2
      }
  
      string[] regions = { "ARG", "AUSNZ", "ECE", "IND", "ISR", "LA", "ME", "NA", "NAF", "NANT", "PAL", "SEA", "TC", "ZA" };
  
      public string[] GetRegionsForProject(Project proj)
      {
          //all directories from /Databases/proj[i]
          string[] allDirectories = Constant.ExtractFileNames(Directory.GetDirectories(Constant.path + "//" + Constant.projects[(int)proj]));
  
  
          string[] availableSubDirectories = Enumerable.Intersect(allDirectories, regions).ToArray();
  
          return availableSubDirectories;
      }
  }
  </code></pre>
  
  <p>The next class stores a certain pattern files</p>
  
  <pre><code>class DBVersion
  {        
      public string[] GetVersion(string proj, string region)
      {
          string pattern = "^" + proj + "_" + region + "_" + @"(\d+\.\d+\.\d+_[a-zA-Z0-9_]+)\.iso$";
          string[] files = Directory.GetFiles(Constant.path + "\\" + proj + "\\" + region + "\\images\\", "*.iso", SearchOption.AllDirectories);
          return files;
  
      }
  }
  </code></pre>
  
  <p>I am trying to build a dependency, for example, depending on the selected values in <code>projectBox</code> and <code>regionBox</code> some versions will appear in <code>versionBox</code></p>
  
  <pre><code>private void projectBox_SelectedIndexChanged(object sender, EventArgs e)
  {
      isoPaths.Clear();
      populateRegions((Regions.Project)Enum.Parse(typeof(Regions.Project), projectBox.SelectedValue.ToString()));
      regionBox.SelectedIndex = 0;
      regionBox_SelectedIndexChanged(null, null);
  }
  
  private void regionBox_SelectedIndexChanged(object sender, EventArgs e)
  {
      string[] versionPaths = version.GetVersion(projectBox.SelectedValue.ToString(), regionBox.SelectedItem.ToString());
  
      isoPaths.Clear();
      isoPaths.AddRange(versionPaths);
  
      populateVersions(Constant.ExtractFileNames(versionPaths));
      //versionBox.SelectedIndex = 0;
      //versionBox_SelectedIndexChanged(null, null);
  }
  
  private void versionBox_SelectedIndexChanged(object sender, EventArgs e)
  {
  
  }
  private void populateRegions(Regions.Project proj) 
  { 
  
      this.regionBox.DataSource = region.GetRegionsForProject(proj); 
  } 
  
  private void populateVersions(string[] versions) 
  { 
      this.versionBox.DataSource = version.GetVersion(
                      projectBox.SelectedItem.ToString(),
                      region‌​Box.SelectedItem.ToS‌​tring()); 
  } 
  </code></pre>
  
  <p>After running, I don't have nothing stored in <code>ComboBox</code></p>