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şturma
Windows Forms Araç Kutusu Denetimi şablonu tanımlanmamış bir kullanıcı denetimi oluşturur ve denetimi Araç Kutusu'na eklemek için gereken tüm işlevleri sağlar.
Windows Forms Araç Kutusu Denetimi ile uzantı oluşturma
adlı
MyWinFormsControl
bir VSIX projesi oluşturun. "vsix" araması yaparak VSIX proje şablonunu Yeni Proje iletişim kutusunda bulabilirsiniz.Proje açıldığında adlı
Counter
bir Windows Forms Araç Kutusu Denetim öğesi şablonu ekleyin. Çözüm Gezgini proje düğümüne sağ tıklayın ve Yeni Öğe Ekle'yi>seçin. Yeni Öğe Ekle iletişim kutusunda Visual C#>Genişletilebilirlik'e gidin ve Windows Forms Araç Kutusu Denetimi'ni seçinBu,
ProvideToolboxControlAttribute
RegistrationAttribute denetimi Araç Kutusu'na yerleştirmek için bir kullanıcı denetimi ve dağıtım için VSIX bildirimine bir Microsoft.VisualStudio.ToolboxControl Asset girişi ekler.
Denetim için kullanıcı arabirimi oluşturma
Denetim Counter
iki alt denetim gerektirir: geçerli sayıyı görüntülemek için a Label Button ve sayıyı 0'a sıfırlamak için. Çağıranlar sayacı program aracılığıyla artıracağından başka alt denetim gerekmez.
Kullanıcı arabirimini oluşturmak için
Çözüm Gezgini'da Counter.cs çift tıklayarak tasarımcıda açın.
Windows Forms Araç Kutusu Denetim öğesi şablonunu eklediğinizde varsayılan olarak eklenen Buraya Tıklayın ! düğmesini kaldırın.
Araç Kutusu'ndan bir
Label
denetimi ve ardından altındaki birButton
denetimi tasarım yüzeyine 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.
Denetim Özellik Değer Label1
Metin "" Button1
Ad btnReset Button1
Metin Reset
Kullanıcı denetimini kodlayın
DenetimCounter
, sayacı artırmaya yönelik bir yöntem, sayaç artırıldığında tetiklenecek bir olay, bir Sıfırla düğmesi ve geçerli sayıyı depolamak için üç özellik, görüntüleme metni ve Sıfırla düğmesinin gösterilip gösterilmeyeceğini veya gizleneceğini gösterir. özniteliği, ProvideToolboxControl
Denetimin Araç Kutusu'nda nerede görüneceğini Counter
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, sayacın görünen metnini almak ve ayarlamak ve Sıfırla düğmesini göstermek veya gizlemek için bu özelliklere erişebilir. Çağıranlar salt okunur
Value
özelliğin geçerli değerini alabilir, ancak değeri doğrudan ayarlayamazlar.Denetimin olayına
Load
aşağıdaki kodu yerleştirin.private void Counter_Load(object sender, EventArgs e) { currentValue = 0; label1.Text = Message + Value; }
Olaydaki Etiket metninin Load ayarlanması, hedef özelliklerin değerleri uygulanmadan önce yüklenmesini sağlar. Oluşturucuda Etiket metnini ayarlamak boş bir Etiketle 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 olay işleyicisini oluşturmak
btnReset_Click
için Sıfırla düğmesine çift tıklayın. 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 üzerinde, öznitelik bildiriminde
ProvideToolboxControl
ilk parametrenin değerini olarak"MyWinFormsControl.Counter"
"General"
değiştirin. Bu, Denetimi Araç Kutusu'nda barındıracak öğe grubunun adını ayarlar.Aşağıdaki örnekte özniteliği ve ayarlanmış sınıf tanımı gösterilmektedir
ProvideToolboxControl
.[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
Hata Ayıklamayı Başlatmak için F5 tuşuna 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 Uygulaması projesi oluşturun.
Çözüm Gezgini'da, Form1.cs'a çift tıklayarak açık değilse tasarımcıda açın.
Araç Kutusu'nda denetim Genel
Counter
bölümünde görüntülenmelidir.Bir
Counter
denetimi formunuza sürükleyin ve ardından seçin.Value
,Message
veShowReset
özellikleri, öğesinden UserControldevralınan özelliklerle birlikte Özellikler penceresinde görüntülenir.Message
özelliğiniCount:
olarak ayarlayın.Bir Button denetimi forma sürükleyin ve düğmenin adını ve metin özelliklerini olarak
Test
ayarlayın.kod görünümünde Form1.cs açmak ve tıklama işleyicisi oluşturmak için düğmeye çift tıklayın.
Tıklama işleyicisinde öğesini çağırın
counter1.Increment()
.Oluşturucu işlevinde, çağrısından sonra yazın ve sekme tuşuna
InitializeComponent
iki kez basın.counter1``.``Incremented +=
Visual Studio, olay için
counter1.Incremented
form düzeyinde bir işleyici oluşturur.Throw
Olay işleyicisindeki deyimi vurgulayın, yazınmbox
ve ardından mbox kod parçacığından bir ileti kutusu oluşturmak için Sekme tuşuna iki kez basın.Sonraki satırda, Sıfırla düğmesinin görünürlüğünü ayarlamak için aşağıdaki
else
if
/bloğu ekleyin.if (counter1.Value < 5) counter1.ShowReset = false; else counter1.ShowReset = true;
F5 tuşuna basın.
Form açılır. Denetim
Counter
aşağıdaki metni görüntüler.Sayı: 0
Test'i seç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 et'i seçin ve her seferinde ileti kutularını kapatın.
Sıfırla düğmesi yeniden görünür.
Sıfırla'yı seçin.
Sayaç 0'a 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 bir Web sitesine yükleyerek denetimi dağıtabilirsiniz. Bir kullanıcı .vsix dosyasını açtığında, denetim yüklenir ve kullanıcının bilgisayarındaki Visual Studio Araç Kutusu'na eklenir. Alternatif olarak, .vsix dosyasını Visual Studio Market'e yükleyerek kullanıcıların Araç>Uzantıları ve Güncelleştirmeler iletişim kutusuna göz atarak bu dosyayı bulabilmelerini sağlayabilirsiniz.