سؤال

ولقد على 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 بدلا من ذلك.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top