Aracılığıyla paylaş


Nasıl yapılır: oluşturun ve kontrol araç pencereleri

Windows Visual Studio da iki kategoride toplanır: windows veya windows aracı belge. belge penceresi içerik tarafından Kod düzenleyicisinde, bir metin dosyası, HTMLya da bir sınıfiçinde kod gibi düzenlenebilir biridir. araç penceresi düğmeleri, metin, açılan kutular ve diğerleri gibi bir veya daha fazla denetimleri içerir. Visual Studio Tümleşik geliştirme ortam (IDE) hataları görüntüleme veya proje öğelerini düzenleme seçenekleri ayar gibi görevleri gerçekleştirmek için denetimler kullanır. Bunlardan bazı örnekler Çıkış pencere, Görev Listesive araç. Araç IDE serbestçe taşınmış ya da diğer araç pencereleri ile yerleştirildi ve kullanabilirsiniz LinkedWindowsprogramlı olarak bağlamak veya aracı windows IDE ile olan bağlantısını kaldırmak için koleksiyon . Daha fazla bilgi için bkz. Nasıl yapılır: pencere özelliklerini değiştirme.

oluşturmak CreateToolWindow2 yöntem , Windows2 koleksiyon.

Kendi özel araç penceresi oluşturarak görevleri gerçekleştirmek için yararlı denetimleri ile doldurabilirsiniz. Örneğin, kodunuzu biçimlendirmek, izlemek ve değişken ayarları değiştirmek veya Gelişmiş hata ayıklama görev veya kaynakprofil oluşturmagerçekleştirmek amacıyla özel araçları görüntülemek için özel araç penceresi kullanabilirsiniz.

Özel araç penceresi oluşturma yordam şöyledir:

  • (Windows Control Library projekullanarak) bir kullanıcı denetimi yaratmak

  • Bir form (düğmeleri, metin kutularının vb.) ve kod üzerinde istenen denetimleri ekleyin.

  • proje bir dll dosyasını derleyin.

  • Yeni bir oluşturmak Visual Studio eklentiproje (veya diğer proje, Windows Application projegibi).

  • Use CreateToolWindow2 yöntem bir araç penceresi konak yeni kullanıcı denetimi oluşturmak ' ni.

Çağırma önce CreateToolWindow2 oluşturmak için yeni bir araç penceresi, ya da kullanıcı denetimi taşıdığınızda (ControlObject) eklentiveya kullanıcının özniteliklerin tümünü kontrol COMtümüyle görünür hale getirmek için küme olarak aynı derleme içine. (Örneğin, denetleme COM birlikte çalışabilirlik için kaydolun seçenek proje derlemek seçenekleri.) Bunu yapmazsanız, ardından Denetim değil hazırlamak doğru olur, ve CreateToolWindow2 bir null değeri döndürür.

Aşağıdaki örnekler yanı sıra diğer kod örneklerini yanı sıra, her dil için ek araç penceresi örnekleri bulunan Visual Studio OtomasyonÖrneklerWeb sitesi.

Not

Yeni araç penceresi görünürlük durumlarını birini ayarlamayı denerseniz — yükseklik ve genişlik gibi — araç penceresi görünür önce bir hataalırsınız.Bu tür özelliklerini ayarlamak çalışmadan önce pencere görünür olduğundan emin olun.

Not

Gördüğünüz iletişim kutuları ve menü komutları, etkin ayarlarınıza ve ürün sürümüne bağlı olarak Yardım menüsünde açıklanana göre farklılık gösterebilir.Bu yordamlar, genel geliştirme ayarları ile etkin geliştirilmiştir.Ayarlarınızı değiştirmek için Al ve Verayarları üzerinde araçlarımenü. Daha fazla bilgi için bkz. Visual Studio ayarları.

Özel bir araç penceresinin oluþturulmasý

Aşağıdaki örnekte gösterilmiştir oluşturmak araç penceresi a Visual Basic ve Visual C#.

Not

Aşağıdaki kod, Add yürütülmelidir; makroçalıştırılamaz.

oluşturmak için özel araç penceresi

  • Bir kullanıcı denetimi bir Windows Control Library projeoluşturun. "Constants.vsWindowKindToolbox" varsayılan adı kabul edin veya adını değiştirmek emin olun asmPathWindows Control Library projeadı eşleştirmek için aşağıdaki kod parametre .

    Alternatif olarak, kodunuzu, varolan bir kullanıcı denetimi başvurabilir.

Not

kullanıcı denetimi sınıf olmalıdır bir System.Runtime.InteropServices.GuidAttribute sınıf tanımına bağlı.

  1. Yeni bir eklenti projeoluşturun.

    Daha fazla bilgi için, bkz. Nasıl yapılır: bir eklenti oluşturmak.

  2. Yerine OnConnection eklenti aşağıdaki yöntem :

    Public Sub OnConnection(ByVal application As Object, ByVal _
    connectMode As ext_ConnectMode, ByVal addInInst As Object, _
    ByRef custom As Array) Implements IDTExtensibility2.OnConnection
        Try
            ' ctlProgID - the ProgID for your user control.
            ' asmPath - the path to your user control DLL.
            ' guidStr - a unique GUID for the user control.
            Dim ctlProgID, asmPath, guidStr As String
            ' Variables for the new tool window that will hold
            ' your user control.
            Dim toolWins As EnvDTE80.Windows2
            Dim toolWin As EnvDTE.Window
            Dim objTemp As Object = Nothing
    
            _applicationObject = CType(application, DTE2)
            _addInInstance = CType(addInInst, AddIn)
            ctlProgID = "WindowsControlLibrary2.UserControl1"
            ' Replace the <Path to VS Project> with the path to
            ' the folder where you created the WindowsCotrolLibrary.
            ' Remove the line returns from the path before 
            ' running the add-in.
            asmPath = "<Path to VS Project>\My _
              Documents\Visual Studio 2005\Projects\ _
              WindowsControlLibrary2\WindowsControlLibrary2\_
              bin\Debug\WindowsControlLibrary2.dll"
            guidStr = "{E9C60F2B-F01B-4e3e-A551-C09C62E5F584}"
    
            toolWins = CType(_applicationObject.Windows, Windows2)
            ' Create the new tool window, adding your user control.
            toolWin = toolWins.CreateToolWindow2(_addInInstance, _
              asmPath, ctlProgID, "MyNewToolwindow", guidStr, objTemp)
            ' The tool window must be visible before you do anything 
            ' with it, or you will get an error.
            If Not toolWin Is Nothing Then
                toolWin.Visible = True
            End If
               ' Uncomment the code below to set the new tool window's
               ' height and width, and to close it.
            ' MsgBox("Setting the height to 500 and width to 400...")
            ' toolWin.Height = 500
            ' toolWin.Width = 400
            ' MsgBox("Closing the tool window...")
            ' toolWin.Close(vsSaveChanges.vsSaveChangesNo)
    
        Catch ex As Exception
            MsgBox("Exception: " & ex.ToString)
        End Try
    End Sub
    
    // Before running, add a reference to System.Windows.Forms, 
    // using System.Windows.Forms, to the top of the class.
    public void OnConnection(object application, 
    ext_ConnectMode connectMode, object addInInst, ref Array custom)
    {
        try
        {
            // ctlProgID - the ProgID for your user control.
            // asmPath - the path to your user control DLL.
            // guidStr - a unique GUID for the user control.
            string ctlProgID, asmPath, guidStr;
            // Variables for the new tool window that will hold
            // your user control.
            EnvDTE80.Windows2 toolWins;
            EnvDTE.Window toolWin;
            object objTemp = null;
    
            _applicationObject = (DTE2)application;
            _addInInstance = (AddIn)addInInst;
            ctlProgID = "WindowsControlLibrary2.UserControl1";
            // Replace the <Path to VS Project> with the path to
            // the folder where you created the WindowsCotrolLibrary.
            // Remove the line returns from the path before 
            // running the add-in.
            asmPath = @"c:\My Documents\Visual Studio 2005\Projects\
              WindowsControlLibrary2\WindowsControlLibrary2\bin\
              Debug\WindowsControlLibrary2.dll";
            guidStr = "{E9C60F2B-F01B-4e3e-A551-C09C62E5F584}";
    
            toolWins = (Windows2)_applicationObject.Windows;
            // Create the new tool window, adding your user control.
            toolWin = toolWins.CreateToolWindow2(_addInInstance, 
              asmPath, ctlProgID, "MyNewToolwindow", guidStr, 
              ref objTemp);
            // The tool window must be visible before you do anything 
            // with it, or you will get an error.
            if (toolWin != null)
            {
                toolWin.Visible = true;
            }
            // Set the new tool window's height and width, 
            // and then close it.
            System.Windows.Forms.MessageBox.Show("Setting the height 
            to 500 and width to 400...");
            toolWin.Height = 500;
            toolWin.Width = 400;
            System.Windows.Forms.MessageBox.Show
              ("Closing the tool window...");
            toolWin.Close(vsSaveChanges.vsSaveChangesNo);
        }
        catch (Exception ex)
        {
            System.Windows.Forms.MessageBox.Show("Exception: " 
              + ex.Message);
        }
    }
    

    Not þöyle bir başvuru gerektirir System.Windows.Forms isim uzayı.

  3. Değerleri değiştirmek ctlProgID, asmPath, ve guidStr kullanıcı denetiminiz yansıtmak için değişkenleri.

  4. Projeyi olu?turup çaly?tyryn.

  5. Üzerinde araçları menütıklatın Add-In Manager eklenti etkinleştirmek .

Yüzen IDE içinde yeni araç penceresi bakın. İstediğiniz herhangi bir yere veya yerleştirmek taşıyabilirsiniz diğer araç pencereleri kendisiyle.

Ayrıca bkz.

Görevler

Nasıl yapılır: pencere özelliklerini değiştirme

Nasıl yapılır: bir eklenti oluşturmak

İzlenecek yol: bir sihirbaz oluşturma

Kavramlar

Seçenekleri ayarlarını denetleme

Otomasyon nesne modeli şeması

Diğer Kaynaklar

Oluşturma ve ortam Windows denetleme

Eklentiler ve sihirbazlar oluşturma

Otomasyon ve Genişletilebilirlik Başvurusu