簡體   English   中英

如何將透明的winform設置為面板透明面板,以顯示背后的背景?

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM