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.
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
MyWinFormsControl
adlı bir VSIX projesi oluşturun. VSIX proje şablonunu yeni proje iletişim kutusunda "vsix" araması yaparak bulabilirsiniz.Proje açıldığında, bir Windows Forms Araç Kutusu Denetimi öğe şablonu ekleyin ve bu şablonun adına
Counter
deyin. Çö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çinBu,
ProvideToolboxControlAttribute
RegistrationAttribute 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
Çözüm Gezgini'nde Counter.cs dosyasına çift tıklayarak, onu tasarımcıda açın.
"Buraya Tıklayın!" düğmesini, Windows Forms Araç Kutusu Denetim öğesi şablonunu eklediğinizde varsayılan olarak eklenen düğmesinden kaldırın.
Araç Kutusu'den tasarım yüzeyine, ilk olarak bir
Label
denetimi ve ardından onun altına birButton
denetimini sürükleyin.Genel kullanıcı denetimini 150, 50 piksel olarak yeniden boyutlandırın ve düğme denetimini 50, 20 piksel olarak yeniden boyutlandırın.
Ö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
Kod penceresinde yük olayı işleyicisini açmak için forma çift tıklayın.
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;
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.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.
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); }
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.
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; }
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
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.
Visual Studio'nun Deneysel örneğinde bir Windows Forms Application projesi oluşturun.
Çö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.
Araç Kutusu
Counter
denetimi Genel bölümünde görüntülenmelidir.Formunuza bir
Counter
denetimi sürükleyin ve ardından onu seçin.Value
,Message
veShowReset
özellikleri, Özellikler penceresinde, UserControldevralınan özelliklerle birlikte görüntülenir.Message
özelliğiniCount:
olarak ayarlayın.Forma bir Button denetimi sürükleyin ve düğmenin adını ve metin özelliklerini
Test
olarak ayarlayın.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.
Tıklama işleyicisinde
counter1.Increment()
çağırın.Oluşturucu işlevinde,
InitializeComponent
çağrısından sonracounter1``.``Incremented +=
yazın ve Sekme iki kez basın.Visual Studio,
counter1.Incremented
olayı için form düzeyinde bir işleyici oluşturur.Olay işleyicisinde
Throw
deyimini vurgulayın,mbox
yazın ve ardından mbox kod parçacığından bir ileti kutusu oluşturmak için iki kez Tab basın.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;
F5tuşlarına basın.
Form açılır.
Counter
denetimi aşağıdaki metni görüntüler.Sayısı: 0
Testseçin.
Sayaç artar ve Visual Studio bir ileti kutusu görüntüler.
İleti kutusunu kapatın.
Sıfırla düğmesi kaybolur.
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.
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.
İlgili içerik
- Visual Studio'nun diğer bölümlerini genişletme
- WPF Araç Kutusu Denetimi Oluşturma
- Visual Studio'nun diğer bölümlerini genişletme
- Windows Forms'un geliştirmeyle ilgili temel bilgileri