Visual Studio デバッガー ビジュアライザー プロジェクトがあり、 を に追加するToolStripComboBox
とToolStripDropDownMenu
、フォームが最初に表示されたときにのみコンボボックスの項目が表示されます。
このような:
問題を示す winform コードの最も基本的なバージョンは次のとおりです。
public class MyVisualizerDialog : Form
{
public MyVisualizerDialog()
{
var toolStripComboBox = new ToolStripComboBox
{
Items = { "One", "Two", "Three" }
};
var toolStripDownDown = new ToolStripDropDownMenu
{
Items = { toolStripComboBox }
};
var toolStrip = new ToolStrip
{
Items =
{
new ToolStripMenuItem("Options")
{
DropDown = toolStripDownDown
}
}
};
Controls.Add(toolStrip);
}
}
ビジュアライザーのコードは次のとおりです。
public class MyVisualizer : DialogDebuggerVisualizer
{
protected override void Show(
IDialogVisualizerService windowService,
IVisualizerObjectProvider objectProvider)
{
windowService.ShowDialog(
new MyVisualizerDialog());
}
}
追加の詳細:
に を追加する
ToolStripComboBox
とToolStripMenuItem.DropDownItems
、正常に動作しToolStripComboBox
ますToolStripDropDown
。コンソール アプリで同じフォーム クラスの複数のインスタンスを作成して開くと、正常に動作します。
問題が発生すると、コードをバージョンのないバージョンに戻しても発生し続けます。
ToolStripDropDown
Visual Studio を再起動すると、フォームが最初に表示されたときに機能し、その後は機能しません。
何か案は?!IDialogVisualizerService
Dispose コントロールか何かのしわを知っている人はいますか?!
読んでくれてありがとう :)