سؤال

أنا أحاول إنشاء نموذج شبه شفاف يتم عرضه في لوحة. يمكنني عرض النموذج في اللوحة ولكن خاصية العتامة لن تعمل والنموذج غير شفاف.

private void button1_Click(object sender, EventArgs e)
{
      Form fr = new Form();
      fr.FormBorderStyle = FormBorderStyle.None;
      fr.BackColor = Color.Black;
      fr.TopLevel = false;
      fr.Opacity = 0.5;
      this.panel1.Controls.Add(fr);
      fr.Show();
}

أي أفكار كيف يمكنني التعامل مع ذلك؟ شكرا على إجابتك!

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

المحلول

يدعم WinForms فقط الشفافية الجزئية للنماذج ذات المستوى الأعلى. إذا كنت ترغب في إنشاء تطبيق مع عناصر واجهة المستخدم الشفافة جزئيًا ، فأنت بحاجة إما إلى استخدام WPF ، أو التعامل مع جميع الرسم بنفسك. آسف أن يكون حاملا للاخبار السيئة.

نصائح أخرى

تتم إضافة النموذج الخاص بك كعنصر تحكم الطفل في لوحة 1 وهو طفل من النموذج الرئيسي الذي هو عتامة افتراضية = 1.

لرؤية العتامة في العمل ، جرب هذا:

private void button1_Click(object sender, EventArgs e)
{
    Form fr = new Form();
    fr.FormBorderStyle = FormBorderStyle.None;
    fr.BackColor = Color.Blue;
    fr.TopLevel = false;
    //fr.Opacity = 0.5;
    this.Opacity = 0.5; // add this
    this.panel1.Controls.Add(fr);
    fr.Show();
}

أعتقد أنك تريد أن تبدو اللوحة شبه شفافة ، يجب عليك استخدام طريقة أخرى والعمل مع النموذج نفسه.

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