Denetim olayını işleme (Windows Forms .NET)
Denetimler (ve formlar için) olayları genellikle Windows Forms için Visual Studio Visual Tasarım Aracı aracılığıyla ayarlanır. Visual Tasarım Aracı aracılığıyla bir olay ayarlamak, bir olayı tasarım zamanında işleme olarak bilinir. Ayrıca, olayları çalışma zamanında işleme olarak bilinen kodda dinamik olarak da işleyebilirsiniz. Çalışma zamanında oluşturulan bir olay, uygulamanızın şu anda yaptıklarına bağlı olarak olay işleyicilerini dinamik olarak bağlamanıza olanak tanır.
Önemli
.NET 7 ve .NET 6 için Masaüstü Kılavuzu belgeleri yapım aşamasındadır.
Olayı işleme - tasarımcı
Visual Studio'da, denetim olaylarının işleyicilerini yönetmek için Visual Tasarım Aracı kullanın. Visual Tasarım Aracı işleyici kodunu oluşturur ve sizin için olaya ekler.
İşleyiciyi ayarlama
Bir olayın işleyicisini eklemek veya ayarlamak için Özellikler bölmesini kullanın:
Değiştirecek denetimi içeren formun Visual Tasarım Aracı açın.
Denetimi seçin.
Olaylar düğmesine ( ) basarak Özellikler bölmesi modunu Olaylar olarak değiştirin.
İşleyici eklemek istediğiniz olayı bulun, örneğin Click olayı:
Aşağıdakilerden birini yapın:
Yeni bir işleyici oluşturmak için olaya çift tıklayın; hiçbir işleyici atanmamışsa boş olur. Boş değilse, bu eylem formun kodunu açar ve var olan işleyiciye gider.
Var olan bir işleyiciyi seçmek için seçim kutusunu ( ) kullanın.
Seçim kutusu, olay işleyicisi için uyumlu bir yöntem imzası olan tüm yöntemleri listeler.
İşleyiciyi temizleme
Bir olay işleyicisini kaldırmak için, formun arka planda kod dosyasındaki işleyici kodunu silemezsiniz; yine de olay tarafından başvurulur. Bir olayın işleyicisini kaldırmak için Özellikler bölmesini kullanın:
Değiştirecek denetimi içeren formun Visual Tasarım Aracı açın.
Denetimi seçin.
Olaylar düğmesine ( ) basarak Özellikler bölmesi modunu Olaylar olarak değiştirin.
Kaldırmak istediğiniz işleyiciyi içeren olayı bulun, örneğin Click olayı:
Etkinliğe sağ tıklayın ve Sıfırla'yı seçin.
Olayı işleme - kod
Genellikle Visual Tasarım Aracı aracılığıyla denetimlere tasarım zamanında olay işleyicileri eklersiniz. Ancak, çalışma zamanında denetimler oluşturabilirsiniz ve bu da koda olay işleyicileri eklemenizi gerektirir. Koda işleyiciler eklemek, aynı olaya birden çok işleyici ekleme fırsatı da sağlar.
İşleyici ekleme
Aşağıdaki örnekte bir denetimin nasıl oluşturulacağı ve olay işleyicisinin nasıl ekleneceği gösterilmektedir. Bu denetim, olay işleyicisinde Button.Click
farklı bir düğmede oluşturulur. Düğme1'e basıldığında. Kod, yeni bir düğmeyi taşır ve boyutlandırıyor. Yeni düğmenin Click
olayı yöntemi tarafından MyNewButton_Click
işlenir. Yeni düğmenin görünmesini sağlamak için formun Controls
koleksiyonuna eklenir. Ayrıca, olayın işleyicisini kaldırmaya Button1.Click
ilişkin kod da vardır. Bu, İşleyiciyi kaldırma bölümünde açıklanmıştır.
private void button1_Click(object sender, EventArgs e)
{
// Create and add the button
Button myNewButton = new()
{
Location = new Point(10, 10),
Size = new Size(120, 25),
Text = "Do work"
};
// Handle the Click event for the new button
myNewButton.Click += MyNewButton_Click;
this.Controls.Add(myNewButton);
// Remove this button handler so the user cannot do this twice
button1.Click -= button1_Click;
}
private void MyNewButton_Click(object sender, EventArgs e)
{
}
Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
'Create and add the button
Dim myNewButton As New Button() With {.Location = New Point(10, 10),
.Size = New Size(120, 25),
.Text = "Do work"}
'Handle the Click event for the new button
AddHandler myNewButton.Click, AddressOf MyNewButton_Click
Me.Controls.Add(myNewButton)
'Remove this button handler so the user cannot do this twice
RemoveHandler Button1.Click, AddressOf Button1_Click
End Sub
Private Sub MyNewButton_Click(sender As Object, e As EventArgs)
End Sub
Bu kodu çalıştırmak için Visual Studio Visual Tasarım Aracı ile bir forma aşağıdakileri yapın:
- Forma yeni bir düğme ekleyin ve Düğme1 olarak adlandırın.
- Olay düğmesine ( ) basarak Özellikler bölmesi modunu Olaylar olarak değiştirin.
- İşleyici oluşturmak için Click olayına çift tıklayın. Bu eylem kod penceresini açar ve boş
Button1_Click
bir yöntem oluşturur. - Yöntem kodunu yukarıdaki önceki kodla değiştirin.
C# olayları hakkında daha fazla bilgi için bkz . Olaylar (C#) Visual Basic olayları hakkında daha fazla bilgi için bkz . Olaylar (Visual Basic)
İşleyiciyi kaldırma
İşleyici ekle bölümü, işleyici eklemeyi göstermek için bazı kodlar kullandı. Bu kod, bir işleyiciyi kaldırmak için bir çağrı da içeriyordu:
button1.Click -= button1_Click;
RemoveHandler Button1.Click, AddressOf Button1_Click
Bu söz dizimi herhangi bir olaydan herhangi bir olay işleyicisini kaldırmak için kullanılabilir.
C# olayları hakkında daha fazla bilgi için bkz . Olaylar (C#) Visual Basic olayları hakkında daha fazla bilgi için bkz . Olaylar (Visual Basic)
Aynı işleyiciyle birden çok olay kullanma
Visual Studio Visual Tasarım Aracı Özellikler bölmesiyle, farklı bir olay tarafından kullanılmakta olan işleyiciyi seçebilirsiniz. yeni bir işleyici oluşturmak yerine var olan bir işleyiciyi seçmek için İşleyiciyi ayarlama bölümündeki yönergeleri izleyin.
C# dilinde işleyici, formun tasarımcı kodunda visual Tasarım Aracı ile değiştirilen bir denetimin olayına eklenir. C# olayları hakkında daha fazla bilgi için bkz . Olaylar (C#)
Visual Basic
Visual Basic'te işleyici, formun arka planda kod dosyasındaki bir denetimin olayına eklenir ve burada olay işleyicisi kodu bildirilir. Birden çok Handles
olayla kullanmak için olay işleyici koduna birden çok anahtar sözcük eklenebilir. Visual Tasarım Aracı sizin için anahtar sözcüğü oluşturur Handles
ve olay işleyicisine ekler. Ancak, işleyici yönteminin imzası olayla eşleştiğinde, bunu herhangi bir denetimin olayına ve olay işleyicisine kolayca kendiniz yapabilirsiniz. Visual Basic olayları hakkında daha fazla bilgi için bkz. Olaylar (Visual Basic)
Bu kod, aynı yöntemin iki farklı Button.Click
olay için işleyici olarak nasıl kullanılabileceğini gösterir:
Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click, Button2.Click
'Do some work to handle the events
End Sub
Ayrıca bkz.
.NET Desktop feedback
Geri Bildirim
https://aka.ms/ContentUserFeedback.
Çok yakında: 2024 boyunca, içerik için geri bildirim mekanizması olarak GitHub Sorunları’nı kullanımdan kaldıracak ve yeni bir geri bildirim sistemiyle değiştireceğiz. Daha fazla bilgi için bkz.Gönderin ve geri bildirimi görüntüleyin