Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Birden çok örneğinin aynı anda açılabilmesi için bir araç penceresi programlayabilirsiniz. Varsayılan olarak, araç pencerelerinin yalnızca bir örneği açık olabilir.
Çok örnekli bir araç penceresi kullandığınızda, aynı anda çeşitli ilgili bilgi kaynaklarını gösterebilirsiniz. Örneğin, çok örnekli bir araç penceresine çok satırlı TextBox bir denetim koyarak bir programlama oturumu sırasında birden çok kod parçacığının aynı anda kullanılabilmesi sağlanabilir. Ayrıca, örneğin, birden çok gerçek zamanlı veri kaynağının aynı anda izlenebilmesi için çok örnekli bir araç penceresine bir denetim ve açılan liste kutusu koyabilirsiniz DataGrid .
Temel (tek örnekli) araç penceresi oluşturma
VSIX şablonunu kullanarak MultiInstanceToolWindow adlı bir proje oluşturun ve MIToolWindow adlı özel bir araç penceresi öğesi şablonu ekleyin.
Dekont
Araç penceresiyle uzantı oluşturma hakkında daha fazla bilgi için bkz . Araç penceresiyle uzantı oluşturma.
Araç penceresini çok örnekli yapma
MIToolWindowPackage.cs dosyasını açın ve özniteliğini
ProvideToolWindowbulun.MultiInstances=trueve aşağıdaki örnekte gösterildiği gibi parametresini seçin:[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 {. . .}MIToolWindowCommand.cs dosyasında yöntemini bulun
ShowToolWindos(). Bu yöntemde yöntemini çağırın FindToolWindow ve bayrağınıcreatefalseolarak ayarlayın; böylece kullanılabiliridbir araç penceresi bulunana kadar mevcut araç penceresi örneklerinde yinelenir.Bir araç penceresi örneği oluşturmak için yöntemini çağırın FindToolWindow ve bunu kullanılabilir bir değere ve bayrağını
createolaraktrueayarlayınid.Varsayılan olarak, yönteminin
idparametresinin FindToolWindow değeri şeklindedir0. Bu değer tek örnekli bir araç penceresi oluşturur. Birden fazla örneğin barındırılması için her örneğin kendi benzersizidolması gerekir.Show Araç penceresi örneğinin IVsWindowFrame özelliği tarafından Frame döndürülen nesnede yöntemini çağırın.
Varsayılan olarak,
ShowToolWindowaraç penceresi öğe şablonu tarafından oluşturulan yöntem tek örnekli bir araç penceresi oluşturur. Aşağıdaki örnekte, birden çok örnek oluşturmak için yöntemininShowToolWindownasıl değiştirileceği gösterilmektedir.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; } } }