[英]How to set a transparent winform, into a panel transparent panel, to show as background what's behind?
我正在編寫一個程序,該程序的主要形式是一個 pictureBox,我將其用作公共背景圖像,我還使用一個面板,該面板將 pictureBox 作為父級,我使用該面板將我的其他 winforms 加入其中,讓我們稱這個winforms為“A”,我的問題是我將A winforms設置為透明,所以我可以看到面板后面的圖片框,現在,我的問題在於當我加入A winforms時,它們顯示為透明,但是由於不顯示圖片框的問題,它們顯示了程序背后的內容。
這是我想在 A winforms 后面顯示的 PictureBox
這就是我所說的,如您所見,該程序正在向我展示我自己的桌面牆紙
拜托,我需要你的幫助,如你所知,如你所知,我的英語不太好,所以我提前向自己道歉。 :)
要設置窗體的背景,您不需要添加PictureBox
。 你只需要設置它的BackgroundImage Property
。
this.BackgroundImage = Image.FromFile(@"D://pic/b.jpg");
然后將面板設置為透明。
panel1.BackColor = Color.Transparent;
panel1.Dock = DockStyle.Fill;
要將 FormA 設置為透明,還需要在構造函數中調用SetStyle
。
public FormA()
{
this.SetStyle(ControlStyles.SupportsTransparentBackColor, true);
InitializeComponent();
}
這是簡單的演示。
private void Form1_Load(object sender, EventArgs e)
{
FormA formA = new FormA();
formA.FormBorderStyle = FormBorderStyle.None;
formA.TopLevel = false;
formA.Dock = DockStyle.Fill;
panel1.Controls.Add(formA);
formA.BackColor = Color.Transparent;
formA.Show();
}
希望這可以幫到你。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.