Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
Anda dapat memprogram jendela alat sehingga beberapa instans dapat terbuka secara bersamaan. Secara default, jendela alat hanya dapat membuka satu instans.
Saat Anda menggunakan jendela alat multi-instans, Anda dapat menampilkan beberapa sumber informasi terkait secara bersamaan. Misalnya, Anda dapat menempatkan kontrol multibaris TextBox di jendela alat multi-instans sehingga beberapa cuplikan kode tersedia secara bersamaan selama sesi pemrograman. Selain itu, misalnya, Anda dapat menempatkan DataGrid kontrol dan kotak daftar drop-down di jendela alat multi-instans sehingga beberapa sumber data real-time dapat dilacak secara bersamaan.
Membuat jendela alat dasar (instans tunggal)
Buat proyek bernama MultiInstanceToolWindow menggunakan templat VSIX, dan tambahkan templat item jendela alat kustom bernama MIToolWindow.
Catatan
Untuk informasi selengkapnya tentang membuat ekstensi dengan jendela alat, lihat Membuat ekstensi dengan jendela alat.
Membuat jendela alat multi-instans
Buka file MIToolWindowPackage.cs dan temukan atribut .
ProvideToolWindowdan parameter , seperti yangMultiInstances=trueditunjukkan dalam contoh berikut:[PackageRegistration(UseManagedResourcesOnly = true)] [InstalledProductRegistration("#110", "#112", "1.0", IconResourceID = 400)] // Info on this package for Help/About [ProvideMenuResource("Menus.ctmenu", 1)] [ProvideToolWindow(typeof(MultiInstanceToolWindow.MIToolWindow), MultiInstances = true)] [Guid(MIToolWindowPackage.PackageGuidString)] public sealed class MIToolWindowPackage : Package {. . .}Dalam file MIToolWindowCommand.cs, temukan metode .
ShowToolWindos()Dalam metode ini, panggil FindToolWindow metode dan atur benderanyacreatekefalsesehingga akan melakukan iterasi melalui instans jendela alat yang ada hingga tersediaidditemukan.Untuk membuat instans jendela alat, panggil FindToolWindow metode dan atur
idke nilai yang tersedia dan benderanyacreateketrue.Secara default, nilai
idparameter FindToolWindow metode adalah0. Nilai ini membuat jendela alat instans tunggal. Agar lebih dari satu instans dihosting, setiap instans harus memiliki keunikannyaidsendiri.Show Panggil metode pada IVsWindowFrame objek yang dikembalikan oleh Frame properti instans jendela alat.
Secara default,
ShowToolWindowmetode yang dibuat oleh templat item jendela alat membuat jendela alat instans tunggal. Contoh berikut menunjukkan cara mengubahShowToolWindowmetode untuk membuat beberapa instans.private void ShowToolWindow(object sender, EventArgs e) { for (int i = 0; i < 10; i++) { ToolWindowPane window = this.package.FindToolWindow(typeof(MIToolWindow), i, false); if (window == null) { // Create the window with the first free ID. window = (ToolWindowPane)this.package.FindToolWindow(typeof(MIToolWindow), i, true); if ((null == window) || (null == window.Frame)) { throw new NotSupportedException("Cannot create tool window"); } IVsWindowFrame windowFrame = (IVsWindowFrame)window.Frame; Microsoft.VisualStudio.ErrorHandler.ThrowOnFailure(windowFrame.Show()); break; } } }