1

Visual Studio デバッガー ビジュアライザー プロジェクトがあり、 を に追加するToolStripComboBoxToolStripDropDownMenu、フォームが最初に表示されたときにのみコンボボックスの項目が表示されます。

このような:

ここに画像の説明を入力

問題を示す 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());
    }
}

追加の詳細:

  • に を追加するToolStripComboBoxToolStripMenuItem.DropDownItems、正常に動作しToolStripComboBoxますToolStripDropDown

  • コンソール アプリで同じフォーム クラスの複数のインスタンスを作成して開くと、正常に動作します。

  • 問題が発生すると、コードをバージョンのないバージョンに戻しても発生し続けます。ToolStripDropDown

  • Visual Studio を再起動すると、フォームが最初に表示されたときに機能し、その後は機能しません。

何か案は?!IDialogVisualizerServiceDispose コントロールか何かのしわを知っている人はいますか?!

読んでくれてありがとう :)

4

1 に答える 1