طريقة OnPaint يجري الدعوة إلى كل عنصر تحكم الطفل
سؤال
ولقد على UserControl (WinForms عناصر و .net 2.0)، ولقد هذا:
protected override void OnPaint(PaintEventArgs e)
{
base.OnPaint(e);
var rect = e.ClipRectangle;
var pen = new Pen(Brushes.LightGray, 1);
e.Graphics.DrawRectangle(pen, rect);
}
وأريد أساسا لرسم الحدود على UserControl، ولكن المستطيل يجري السحب في جميع الطفل يتحكم أيضا! أنا لم أقرأ ينبغي أن يطلق عليه لكل عنصر تحكم الطفل، هل هناك حل؟
المحلول
ولأن عناصر التحكم التابعة يبطل الأم، مما تسبب في هذه الطريقة أن أطلق لكل واحد.
وبدلا من استخدام البريد كمعلمة (ه سيكون أيهما تحكم تشغيل الحدث، الطفل أم لا) استخدام صراحة اسم عنصر التحكم.
نصائح أخرى
وماذا الذي تستخدمه PaintEventArgs.ClipRectangle
لتحديد حدود المستطيل؟ حاول استخدام Control.ClientRectangle
بدلا من ذلك.
لا تنتمي إلى StackOverflow