* [2.0]メニューにたくさんの項目を動的にAddする場合の注意 [#lb1da2ad]
メインメニューのある項目の中身をごっそり入れ替える、等、
メニューを動的に操作する際、.NET2.0では、メニューが
ちらついてむやみに時間がかかる。
** これまで [#f9d756bf]
#code(Csharp,nooutline){{
menuGhost.MenuItems.Clear();
menuGhost.MenuItems.AddRange(citems);
}}
これまではこのコードで特に問題なかった。
(menuGhostはメインメニューの1項目とする。また、citemsは100程度の配列)
** 対処方法 [#d6d79964]
#code(Csharp,nooutline){{
menuMain.MenuItems.Remove(menuGhost);
menuGhost.MenuItems.Clear();
menuGhost.MenuItems.AddRange(citems);
menuMain.MenuItems.Add(3, menuGhost);
}}
一旦メインメニューから消した後に変更し、再度追加すれば問題はおきない。
** 補足 [#ta93d192]
コンテキストメニュー等、メインメニューに紐付いていないメニューでは
問題はおきないようだ。