OnPaint Yöntemini Geçersiz Kılma
.NET Framework'te tanımlanan herhangi bir olayı geçersiz kılmaya yönelik temel adımlar aynıdır ve aşağıdaki listede özetlenir.
Devralınan bir olayı geçersiz kılmak için
Protected
On
EventName yöntemini geçersiz kılın.Kayıtlı temsilcilerin
On
olayı alması için geçersiz kılınanOn
EventName yönteminden temel sınıfın EventName yöntemini çağırın.
Paint Her Windows Forms denetiminin öğesinden Controldevraldığı olayı geçersiz kılması gerektiğinden Paint olay burada ayrıntılı olarak ele alınmalıdır. Temel Control sınıf türetilmiş bir denetimin nasıl çizilmesi gerektiğini bilmez ve yönteminde OnPaint herhangi bir boyama mantığı sağlamaz. OnPaint yöntemi Control yalnızca olayı kayıtlı olay alıcılarına iletirPaint.
How to: Develop a Simple Windows Forms Control ( Basit Bir Windows Forms Denetimi Geliştirme) bölümünde örnek üzerinde çalıştıysanız, yöntemini geçersiz kılmaya OnPaint ilişkin bir örnek gördünüz. Aşağıdaki kod parçası bu örnekten alınır.
Public Class FirstControl
Inherits Control
Public Sub New()
End Sub
Protected Overrides Sub OnPaint(e As PaintEventArgs)
' Call the OnPaint method of the base class.
MyBase.OnPaint(e)
' Call methods of the System.Drawing.Graphics object.
e.Graphics.DrawString(Text, Font, New SolidBrush(ForeColor), RectangleF.op_Implicit(ClientRectangle))
End Sub
End Class
public class FirstControl : Control {
public FirstControl() {}
protected override void OnPaint(PaintEventArgs e) {
// Call the OnPaint method of the base class.
base.OnPaint(e);
// Call methods of the System.Drawing.Graphics object.
e.Graphics.DrawString(Text, Font, new SolidBrush(ForeColor), ClientRectangle);
}
}
sınıfı, PaintEventArgs olayın verilerini Paint içerir. Aşağıdaki kodda gösterildiği gibi iki özelliği vardır.
Public Class PaintEventArgs
Inherits EventArgs
...
Public ReadOnly Property ClipRectangle() As System.Drawing.Rectangle
...
End Property
Public ReadOnly Property Graphics() As System.Drawing.Graphics
...
End Property
...
End Class
public class PaintEventArgs : EventArgs {
...
public System.Drawing.Rectangle ClipRectangle {}
public System.Drawing.Graphics Graphics {}
...
}
ClipRectangle boyanacak dikdörtgendir ve Graphics özelliği bir Graphics nesneye başvurur. Ad alanında sınıflar System.Drawing , yeni Windows grafik kitaplığı olan GDI+'nın işlevselliğine erişim sağlayan yönetilen sınıflardır. nesnenin Graphics noktaları, dizeleri, çizgileri, yayları, üç noktayı ve diğer birçok şekli çizme yöntemleri vardır.
Denetim, görsel görünümünü değiştirmesi OnPaint gerektiğinde yöntemini çağırır. Bu yöntem de olayı tetikler Paint .
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