Lambda expressions are introduced in C++11:
http://en.wikipedia.org/wiki/C%2B%2B11#Lambda_functions_and_expressions[
^].
More exactly, what you need is anonymous methods. Please see:
http://en.wikipedia.org/wiki/Anonymous_function#C.2B.2B[
^].
If your version of C++/CLI is new enough, you can use it on C++/CLI as well.
Please see also this article:
Using lambdas - C++ vs. C# vs. C++/CX vs. C++/CLI[
^].
And also see my comment to the question. In worst case, if you just want the functionality or the code you show, you can always define separate named functions
FormShownHandler(System::Object, System::EventHandler)
and
FormClosedHandler(System::Object, System.Windows.Forms::FormClosedEventArgs)
instead of anonymous methods.
—SA