سؤال

ولدي صعوبات في إظهار متعددة (تصل إلى 5) pictureboxes على رأس كل منهما الآخر، ولكنها قادرة على رؤية كل منهم. فقط أولا وأخيرا سوف تظهر. I تبين لهم من أسفل إلى أعلى، تعيين مواقعها بشكل صحيح واستخدام وظيفة BringToFront (). هل لدى أي شخص حل (إن وجدت)؟ شكرا لمساعدتكم!

هل كانت مفيدة؟

المحلول

ولست متأكدا ما هي المشكلة الفعلية؛ يضيف التعليمة البرمجية التالية 5 PictureBoxes مكدسة إلى نموذج، وتكوين لهم حتى يتمكنوا جميعا مرئية.

private void AddStackedPictureBoxes()
{
    for (int i = 0; i < 5; i++)
    {
        PictureBox pb = new PictureBox();

        pb.BackColor = Color.FromArgb(i * 50, i * 50, i * 50);
        pb.BorderStyle = BorderStyle.FixedSingle;

        pb.Location = new Point(i * 10, i * 10);
        pb.Size = new Size((5 - i) * 20, (5 - i) * 20);

        Controls.Add(pb);

        pb.BringToFront();
    }
}

وربما من شأنها أن تعطيك فكرة عن لماذا كنت تواجه مشاكل.

وعلى سبيل المثال، إذا كنت استدعاء BringToFront() قبل إضافة عنصر التحكم إلى النموذج، فإنه لن يكون لها أي تأثير.

نصائح أخرى

وتأكد من تعيين لون الخلفية شفافة على كل منهم.

وكما قال دانيال، BringToFront () لا تعمل إلا إذا كان عنصر التحكم هو بالفعل على نموذج.

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