- 私はこののMenuItemは
readinstance = null;
ContextMenu cMenu = new ContextMenu();
for (int i = 0; i < instances.Length; i++) {
string text = String.Format("{0} - {1}", instances[i].Id, instances[i].FormName);
MenuItem item = new MenuItem(text, new EventHandler(cMenuitem_Click));
item.Tag = instances[i];
cMenu.MenuItems.Add(item);
}
cMenu.Show((Button)sender, new Point(0, 0));
cMenu.Dispose();
if (readinstance == null)
throw new Exception("Must select some instance");
のように、その場でのContextMenuを構築し、ハンドラが
void cMenuitem_Click(object sender, EventArgs e)
{
MenuItem item = (MenuItem)sender;
readinstance = (FormPrintingStorage)item.Tag;
}
メニューが正しく表示されるが、私はいくつかのをクリックしたときであると呼ばれていないイベントハンドラをクリックしますオプション、ハンドラは呼び出されないので、readinstanceはnullのままで、例外はスローされます。注釈として、いずれかのオプションをクリックすると、メニューは消えます。 私のコードに何が問題なのか分かりません。どんな助けもありがとう。