Konwertuj ciało C # instrukcji lambda na VB

Wydaje się, że VB w VS8 nie obsługuje / konwertuje wyrażeń lambda z treścią instrukcji. Używam ich w mojej aplikacji C #, ale teraz muszę przekonwertować ją na VB.

Dynamicznie tworzę całą masę kontrolek i chcę być w stanie zapewnić im obsługę zdarzeń w locie. Dzięki temu mogę zbudować dynamiczny interfejs użytkownika z bazy danych. W poniższym kodzie utworzę formularz i pole wyboru, sprawię, że pole wyboru będzie kontrolować widoczność formularza, dodać kilka formularzy metod do formularza, a następnie dodać nowo utworzone pole wyboru do wcześniej istniejącego formularza / panelu / itd. Na przykład podręczniki dla formularza wpływają na pole wyboru:

  // Inside some loop creating a lot of these forms and matching checkboxes
      Form frmTemp = frmTestPanels[i];  // New form in array
      CheckBox chkSelectPanel;          // New checkbox that selects this panel
      chkSelectPanel = new CheckBox();
      chkSelectPanel.Text = SomeName;   // Give checkbox a label
      chkSelectPanel.Click += (ss, ee) =>  // When clicked
      {
          label1.Text = SomeName;       // Update a label
          if (chkSelectPanel.Checked)   // Show or hide the form
          {
              frmTemp.Show();
          }
          else
          {
              frmTemp.Hide();
          }
      };

      frmTemp.VisibleChanged += (ss, ee) =>  // When form visibility changes
      {
          chkSelectPanel.Checked = frmTemp.Visible;  // Reflect change to checkbox
          ConfigurationFileChanged = true;   // Update config file later
      };

      frmTemp.FormClosing += (ss, ee) =>     // When the form closes
      {   // We're only pretending to close the form - it'll sit around until needed
          chkSelectPanel.Checked = false;    // Update the checkbox
          frmTemp.Hide();                    // Hide the form
          ee.Cancel = true;                  // Cancel the close
      };

      flpSelectGroup.Controls.Add(chkSelectPanel); // Add checkbox to flow layout panel
  // End of loop creating a bunch of these matching forms/checkboxes

Oczywiście otrzymuję błąd konwersji „VB nie obsługuje metod anonimowych / wyrażeń lambda z treścią instrukcji”

Naprawdę podobała mi się możliwość tworzenia wszystkiego w locie, a następnie pozwalania obiektom na samodzielne obsługiwanie - nie muszę dodawać żadnych specjalnych funkcji, które określają, który formularz daje zdarzenie zamknięcia, aby mógł wyszukać odpowiednie pole wyboru i zaktualizować pole wyboru - It Just Works (TM).

Niestety musi zostać przekonwertowany na VB.

Jaki jest najlepszy sposób na przekonwertowanie ciał instrukcji lambda / anonimowych na coś, co będzie działać w VB, zwłaszcza gdy trzeba utworzyć wiele z nich?

-Adam

questionAnswers(2)

yourAnswerToTheQuestion