>230
えっと、ドキュメントを見ると、switch文は
ms-help://MS.NETFrameworkSDK.JA/csref/html/vclrfTheSwitchStatement.htm
switch (expression)
{
  case constant-expression:
   statement
   jump-statement
  [default:
   statement
   jump-statement]
}
という定義です。で、評価式であるexpressionの説明では、
  expression
  整数型または文字列型の式。
ということになってます。整数型は関係ない(Cならポインタに
してやってから数値で評価とか出来るけど、C#は知らない)
として、文字列での式評価に関しては、LauncherTest1で
行っているような、Control継承オブジェクトのプロパティName
で行えます。以下のような感じです。
Control control = (Control)sender;
switch(control.Name)
{
  case "button1":
  if(fileName1 != null)
    Process.Start(fileName1);
    break;
}