Aracılığıyla paylaş


Windows Forms Araç Kutusu Denetimi Oluşturma

Visual Studio Genişletilebilirlik Araçları'na (VSSDK) dahil edilen Windows Forms Araç Kutusu Denetim öğesi şablonu, uzantı yüklendiğinde otomatik olarak eklenen bir Araç Kutusu denetimi oluşturmanıza olanak tanır. Bu kılavuzda, şablonu kullanarak diğer kullanıcılara dağıtabileceğiniz basit bir sayaç denetimi oluşturma gösterilmektedir.

Araç Kutusu Denetimi Oluştur

Windows Forms Araç Kutusu Denetimi şablonu tanımlanmamış bir kullanıcı denetimi oluşturur ve denetimi Araç Kutusueklemek için gereken tüm işlevleri sağlar.

Windows Forms Araç Kutusu Denetimi ile uzantı oluşturma

  1. MyWinFormsControladlı bir VSIX projesi oluşturun. VSIX proje şablonunu yeni proje iletişim kutusunda "vsix" araması yaparak bulabilirsiniz.

  2. Proje açıldığında, bir Windows Forms Araç Kutusu Denetimi öğe şablonu ekleyin ve bu şablonun adına Counterdeyin. Çözüm Gezginibölümünde, proje düğümüne sağ tıklayın ve Ekle>Yeni Öğeseçeneğini seçin. Yeni Öğe Ekle iletişim kutusunda, Visual C#>Genişletilebilirlik bölümüne gidin ve Windows Forms Araç Kutusu Denetimi seçin

  3. Bu, ProvideToolboxControlAttributeRegistrationAttribute ile bir kullanıcı denetimi ekler, kontrolü Araç Kutusu'ya yerleştirir ve dağıtım için VSIX bildirimine bir Microsoft.VisualStudio.ToolboxControl Varlık girişi ekler.

Denetim için kullanıcı arabirimi oluşturma

Counter denetimi iki alt denetim gerektirir: geçerli sayıyı görüntülemek için bir Label ve sayıyı 0'a sıfırlamak için bir Button. Çağıranlar sayacı program aracılığıyla artıracağından başka bir çocuk denetimi gerekmez.

Kullanıcı arabirimini oluşturmak için

  1. Çözüm Gezgini'nde Counter.cs dosyasına çift tıklayarak, onu tasarımcıda açın.

  2. "Buraya Tıklayın!" düğmesini, Windows Forms Araç Kutusu Denetim öğesi şablonunu eklediğinizde varsayılan olarak eklenen düğmesinden kaldırın.

  3. Araç Kutusu'den tasarım yüzeyine, ilk olarak bir Label denetimi ve ardından onun altına bir Button denetimini sürükleyin.

  4. Genel kullanıcı denetimini 150, 50 piksel olarak yeniden boyutlandırın ve düğme denetimini 50, 20 piksel olarak yeniden boyutlandırın.

  5. Özellikler penceresinde, tasarım yüzeyindeki denetimler için aşağıdaki değerleri ayarlayın.

    Kontrol Mülk Değer
    Label1 metin ""
    Button1 Adı btnSıfırla
    Button1 metin Sıfırla

Kullanıcı denetimini kodlayın

Counter denetimi sayacı artırmaya yönelik bir yöntem, sayaç artırıldığında tetiklenecek bir olay, Sıfırla düğmesi ve geçerli sayıyı, görüntüleme metnini ve Sıfırla düğmesinin gösterilip gösterilmeyeceğini veya gizlenmeyeceğini gösteren üç özellik sunar. ProvideToolboxControl özniteliği, Araç KutusuCounter denetiminin nerede görüneceğini belirler.

Kullanıcı denetimini kodlar

  1. Kod penceresinde yük olayı işleyicisini açmak için forma çift tıklayın.

  2. Olay işleyici yönteminin üzerinde, denetim sınıfında aşağıdaki örnekte gösterildiği gibi sayaç değerini depolamak için bir tamsayı ve görüntüleme metnini depolamak için bir dize oluşturun.

    int currentValue;
    string displayText;
    
  3. Aşağıdaki genel özellik bildirimlerini oluşturun.

    public int Value {
        get { return currentValue; }
    }
    
    public string Message {
        get { return displayText; }
        set { displayText = value; }
    }
    
    public bool ShowReset {
        get { return btnReset.Visible; }
        set { btnReset.Visible = value; }
    }
    
    

    Arayanlar bu özelliklere erişerek sayacın görünen metnini alabilir ve ayarlayabilir ve Sıfırla düğmesini gösterebilir veya gizleyebilir. Çağıranlar salt okunur Value özelliğinin geçerli değerini alabilir, ancak değeri doğrudan ayarlayamazlar.

  4. Aşağıdaki kodu denetim için Load olayına yerleştirin.

    private void Counter_Load(object sender, EventArgs e)
    {
        currentValue = 0;
        label1.Text = Message + Value;
    }
    
    

    olayında Load metninin ayarlanması, hedef özelliklerin değerleri uygulanmadan önce yüklenmesini sağlar. Oluşturucuda Etiketi'nin metninin ayarlanması, boş bir Etiketiile sonuçlanır.

  5. Sayacı artırmak için aşağıdaki genel yöntemi oluşturun.

    public void Increment()
    {
        currentValue++;
        label1.Text = displayText + Value;
        Incremented(this, EventArgs.Empty);
    }
    
    
  6. denetim sınıfına Incremented olayı için bir bildirim ekleyin.

    public event EventHandler Incremented;
    

    Çağıranlar, sayacın değerindeki değişikliklere yanıt vermek için bu olaya işleyiciler ekleyebilir.

  7. Tasarım görünümüne dönün ve Sıfırla düğmesine çift tıklayarak btnReset_Click olay işleyicisini oluşturun. Ardından, aşağıdaki örnekte gösterildiği gibi doldurun.

    private void btnReset_Click(object sender, EventArgs e)
    {
        currentValue = 0;
        label1.Text = displayText + Value;
    }
    
    
  8. Sınıf tanımının hemen üstündeki ProvideToolboxControl öznitelik bildiriminde, ilk parametrenin değerini "MyWinFormsControl.Counter" olarak "General"olarak değiştirin. Bu, denetimi Araç Kutusubarındıracak öğe grubunun adını ayarlar.

    Aşağıdaki örnekte ProvideToolboxControl özniteliği ve ayarlanmış sınıf tanımı gösterilmektedir.

    [ProvideToolboxControl("General", false)]
    public partial class Counter : UserControl
    

Denetimi test edin

bir Toolbox denetimini test etmek için önce geliştirme ortamında test edin ve ardından derlenmiş bir uygulamada test edin.

Denetimi test etmek için

  1. F5 tuşlarına, hata ayıklamayı başlatmakiçin basın.

    Bu komut projeyi oluşturur ve denetimin yüklü olduğu ikinci bir Deneysel Visual Studio örneğini açar.

  2. Visual Studio'nun Deneysel örneğinde bir Windows Forms Application projesi oluşturun.

  3. Çözüm Gezgini'nde, eğer zaten açık değilse, tasarımcıda açmak için Form1.cs dosyasına çift tıklayın.

  4. Araç KutusuCounter denetimi Genel bölümünde görüntülenmelidir.

  5. Formunuza bir Counter denetimi sürükleyin ve ardından onu seçin. Value, Messageve ShowReset özellikleri, Özellikler penceresinde, UserControldevralınan özelliklerle birlikte görüntülenir.

  6. Message özelliğini Count:olarak ayarlayın.

  7. Forma bir Button denetimi sürükleyin ve düğmenin adını ve metin özelliklerini Testolarak ayarlayın.

  8. Form1.cs kod görünümünde açmak ve tıklama işleyicisi oluşturmak için düğmeye çift tıklayın.

  9. Tıklama işleyicisinde counter1.Increment()çağırın.

  10. Oluşturucu işlevinde, InitializeComponentçağrısından sonra counter1``.``Incremented += yazın ve Sekme iki kez basın.

    Visual Studio, counter1.Incremented olayı için form düzeyinde bir işleyici oluşturur.

  11. Olay işleyicisinde Throw deyimini vurgulayın, mboxyazın ve ardından mbox kod parçacığından bir ileti kutusu oluşturmak için iki kez Tab basın.

  12. Bir sonraki satırda, if düğmesinin görünürlüğünü ayarlamak için aşağıdaki /else bloğunu ekleyin.

    if (counter1.Value < 5) counter1.ShowReset = false;
    else counter1.ShowReset = true;
    
  13. F5tuşlarına basın.

    Form açılır. Counter denetimi aşağıdaki metni görüntüler.

    Sayısı: 0

  14. Testseçin.

    Sayaç artar ve Visual Studio bir ileti kutusu görüntüler.

  15. İleti kutusunu kapatın.

    Sıfırla düğmesi kaybolur.

  16. Sayaç 5'e ulaşana kadar Test seçin ileti kutularını her seferinde kapatın.

    Sıfırla düğmesi yeniden görünür.

  17. Sıfırla'yı seçin.

    Sayaç 0olarak sıfırlanır.

Sonraki adımlar

Araç Kutusu denetimi oluşturduğunuzda, Visual Studio projenizin \bin\debug\ klasöründe projectName.vsix adlı bir dosya oluşturur. .vsix dosyasını bir ağa veya web sitesine yükleyerek denetimi dağıtabilirsiniz. Kullanıcı .vsix dosyasını açtığında, denetim yüklenir ve kullanıcının bilgisayarındaki Visual Studio Araç Kutusu eklenir. Alternatif olarak, .vsix dosyasını Visual Studio Market yükleyebilirsiniz; böylece kullanıcılar, Araçları>Uzantılar ve Güncelleştirmeler iletişim kutusuna göz atarak dosyayı bulabilir.