[Forms][C#]メニューに排他的にチェックをいれる

C#でFormsを使ってプログラムする機会があって調べたメモ。メニューのあるアイテムの下層をひとつのグループとみなし、そのグループ中で一つだけチェックが入る前提で、メニューを選択した際にチェックをいれる処理を統一したもの。親menu1の下に子menu1_menu1,menu1_menu2,... があるとして、各メニューの処理時に同じCheckMenuExclusivelyを呼び出すことで排他的にチェックマークが入る。当然チェックを入れる以外の処理は別途必要。たぶん似たようなものはそこらに転がってるけど、子メニューを示すメソッドがItemsではなくDropDownItemsであったことため、しばし悩んだのでメモしておく。
void CheckMenuExclusively(object sender, ToolStripMenuItem upper)
{
    foreach (ToolStripMenuItem item in upper.DropDownItems)
    {
        if (object.ReferenceEquals(sender, item))
        {
            item.Checked = true;
         }
         else
         {
             item.Checked = false;
          }
     }
}
private void menu1_menu1_Click(object sender, EventArgs e)
{
     CheckMenuExclusively(sender, menu1);
}