通常のツールボックスに似たツールウィンドウを表示する Visual Studio アドインを開発しています。ここで、通常のツールボックスを開いたときと同じようにドッキングさせたいと思います。これは、それを開くために使用されるコードです (_applicationObject
および_addInInstance
OnConnection 引数から取得された DTE2 および AddIn です)。
Windows2 wins2obj = (Windows2)_applicationObject.Windows;
Assembly asm = Assembly.GetExecutingAssembly();
string an = asm.Location;
string className = "MyAddIn.MyToolboxCtl";
object programmableObject = null;
Window windowToolWindow = wins2obj.CreateToolWindow2(_addInInstance, an,
className, "A caption", aGuid,
ref programmableObject);
このウィンドウを表示する前に IsFloating プロパティを false に設定して、このウィンドウをドッキングすることができました。
windowToolWindow.IsFloating = false;
windowToolWindow.Visible = true;
これはほとんど問題ありませんが、ウィンドウはメイン ウィンドウの下部にドッキングされており、通常、出力、ウォッチ、コール スタックなどのウィンドウが表示されます。ツールボックスが通常表示される左側に強制的に開く方法はありますか?
編集:
ウィンドウとツールボックス ウィンドウを一緒にドッキングして、LinkedWindowFrame を作成しようとしました。
Window2 w1 = (Window2)wins2obj.Item(Constants.vsWindowKindToolbox);
Window2 frame = (Window2)wins2obj.CreateLinkedWindowFrame(w1, windowToolWindow,
vsLinkedWindowType.vsLinkedWindowTypeTabbed);
結果は、私が達成しようとしているものと似ています。つまり、ツールボックスとウィンドウは一緒にドッキングされていますが、結果のウィンドウはフローティングで、メイン ウィンドウの左側にドッキングされていません。