Aracılığıyla paylaş


Denetim olayını yönetme

Denetimler (ve formlar) için olaylar genellikle Visual Studio'nun Windows Forms Görsel Tasarımcısı aracılığıyla ayarlanır. Görsel Tasarımcı aracılığıyla bir olay ayarlamak, tasarım zamanında bir olayı 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.

Tasarım aşamasında bir olayı işleme

Visual Studio'da, denetim olaylarının işleyicilerini yönetmek için Visual Designer'ı kullanın. Görsel Tasarımcı 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:

  1. Değiştirecek denetimi içeren formun Görsel Tasarımcısı'nı açın.

  2. Denetimi seçin.

  3. Olaylar düğmesine ( ) basarak Özellikler bölmesi modunu Olaylar olarak değiştirin.

  4. İşleyici eklemek istediğiniz olayı bulun, örneğin Click olayı:

    Visual Studio özellikleri bölmesi, olay modu etkinleştirilmiş ve tıklama olayıyla gösterilmiş halde.

  5. 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 temizle

Bir olay işleyicisini kaldırmak için, yalnızca formun arka planda kod dosyasındaki işleyici kodunu silmek yeterli değildir; bu kod hala tasarım aracı tarafından referans alınmaktadır. Bir olayın işleyicisini kaldırmak için Özellikler bölmesini kullanın:

  1. Değiştirecek denetimi içeren formun Görsel Tasarımcısı'nı açın.

  2. Denetimi seçin.

  3. Olaylar düğmesine ( ) basarak Özellikler bölmesi modunu Olaylar olarak değiştirin.

  4. Kaldırmak istediğiniz işleyiciyi içeren olayı bulun, örneğin Click olayı:

    Visual Studio özellikleri bölmesi, olay modu etkinleştirilmiş ve tıklama olayıyla gösterilmiş halde.

  5. Etkinliğe sağ tıklayın ve Sıfırla'yı seçin.

Çalışma zamanında bir olayı ele alma

Genellikle Görsel Tasarımcı aracılığıyla tasarım zamanında denetimlere olay işleyicileri eklersiniz. Ancak, koda olay işleyicileri eklemenizi gerektiren çalışma zamanında denetimler oluşturabilirsiniz. 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 hareket ettirir ve boyutlandırır. Yeni düğmenin olayı Click 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 Görsel Tasarımcısı ile bir forma aşağıdakileri yapın:

  1. Forma yeni bir düğme ekleyin ve Düğme1 olarak adlandırın.
  2. Olay düğmesine ( ) basarak Özellikler bölmesi modunu Olaylar olarak değiştirin.
  3. İş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.
  4. 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ır

İş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 Görsel Tasarımcısı'nın Ö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ım kodunda bir denetimin olayına eklenir ve bu işlem Görsel Tasarımcı kullanılarak yapılır. 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. Görsel Tasarımcı sizin için anahtar sözcüğü oluşturur Handles ve olay işleyicisine ekler. Ancak, işleyici yönteminin imzası olayla eşleştiği sürece, bunu herhangi bir denetimin olayına ve olay işleyicisine kolayca kendiniz uygulayabilirsiniz. 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 bakınız