ContextMenu 処理終了時に ContextMenu.Dispose() / MenuItem.Diapose() してはいけません。MenuItem.Click イベントが正しく発生しなくなります。(MenuItem.Diapose() で MenuItem.Index が おかしくなる、 ContextMenu.Dispose() でそもそもイベントが投げられない)
ContextMenu contextMenu = null;
try {
contextMenu = new ContextMenu();
// contextMenu にアイテム追加
// 本来は Form なりに関連付けるべき
contextMenu.Show( ... );
}
finally {
if( ContextMenu != null ) {
for( int i=0; i<contextMenu.MenuItems.Count; i++ )
contextMenu.MenuItems[i].Dispose();
contextMenu.Dispose();
}
}
で、これでうまくいかないとなるとどこで Dispose() すればよいのでしょうか。設計から見直すべき?
名前、コメントは必須です。HTMLタグ、実態参照文字は使うことが出来ません。クッキーは年内対応予定。URI,メールアドレスはリンクを張ります。
Copyright(C)方位記号