winforms的透明弹出窗口

时间:2014-03-04 22:04:21

标签: c# wpf winforms transparency toolstripdropdown

我正在尝试在点击网格中的单元格时显示弹出窗口。弹出窗口有一个usercontrol,其中包含一个Element Host。我正在尝试使弹出窗口透明,所以我可以看到网格下面的什么,但它似乎不起作用。我正在使用ToolStripDropDown来显示弹出窗口。

这是弹出窗口的代码

ToolStripDropDown popup = new ToolStripDropDown();
popup.BackColor = Color.Transparent;
UserControl2 userControl = new UserControl2(popup);
userControl.Show();
popup.Margin = Padding.Empty;
popup.Padding = Padding.Empty;
ToolStripControlHost host = new ToolStripControlHost(userControl);
host.BackColor = Color.Transparent;
host.Margin = Padding.Empty;
host.Padding = Padding.Empty;
popup.Items.Add(host);

以下是UserControl本身的代码

public partial class UserControl2 : UserControl
{
    private ToolStripDropDown popup;
    public UserControl2(ToolStripDropDown toolStrip)
    {
        InitializeComponent();
        SetStyle(ControlStyles.SupportsTransparentBackColor, true);
        this.BackColor = Color.Transparent;
        popup = toolStrip;

        this.elementHost1.BackColorTransparent = true;
    }
}

这是结果enter image description here

有人可以告诉我这里做错了什么,有没有办法显示透明弹出窗口。弹出窗口最终会托管一个透明的WPF控件。

感谢。

0 个答案:

没有答案