【问题标题】:Black backcolor in Controls when it was set to transparent当控件设置为透明时,控件中的黑色背景
【发布时间】:2013-02-20 18:48:07
【问题描述】:

我遇到了 WPF elementHost 背景颜色的问题。我有一个在面板中加载 UserControl(Winform) 的 winform。在该用户控件中,我有两个面板,每个面板内部都有一个 elementHost 承载 WPF 用户控件。

图片可能更有帮助:

如您所见,它们每个的背景色都是黑色,而元素应该是这样显示的:

我注意到当我在面板中加载其他用户控件时发生了这种情况。我需要知道如何解决这个问题。

每个 elementHost 都将其背景色设置为透明,并将 BackColorTransparent 设置为 True。 另外,我尝试在运行时更改背景颜色,但仍然是同样的问题。

更新: 好的,我注意到,如果我在表单的加载事件中将 UserControl 加载到面板中,则 elementHost 会正确加载。但是,如果我在按钮单击事件中加载面板中的 UserControl,我会得到黑色背景。

作品:

private void frm_Configuracion_Load(object sender, EventArgs e)
    {
        /*ABM.frm_ABM_Banco_Sucursal banco_sucursal = new ABM.frm_ABM_Banco_Sucursal();
        panel1.Controls.Add(banco_sucursal);*/
    }

不要工作:

private void button3_Click(object sender, EventArgs e)
    {
        ABM.frm_ABM_Banco_Sucursal banco_sucursal = new ABM.frm_ABM_Banco_Sucursal();
        panel1.Controls.Add(banco_sucursal);
    }

显然,仅当我使用一个 UserControl 时,使用 Load 事件才是解决方案,但我不是。

【问题讨论】:

  • Apparently 这是不可能的。顺便说一句,esa grilla es de winforms?
  • 是的,我读过那个网址,但这是可能的。 WPF 用户控件在我的所有表单中都是透明的。当我在面板中加载 Winform UserControl 并且 UserControl 具有那些 ElementsHost 时,该错误才会出现。是的,我在 Winforms 中做了那个网格
  • 恭喜 =)。没想到winforms能做出这么好看的东西。
  • 谢谢。它比人们知道的更可定制。有它的局限性,但可以实现很多事情。

标签: c# winforms user-controls elementhost backcolor


【解决方案1】:

好的,我就是这样解决的:

我把这段代码放在每个 UserControl 的 Load() 事件中:

elementHost.BackColorTransparent = true;

作为 elementHost 的每个 elementHost 元素都有这个问题。

这很奇怪,但该属性在设计时使用可视化设计器设置为 true,我认为在执行过程中可能会出现问题。

【讨论】:

    【解决方案2】:

    我遇到了同样的问题,当我单击按钮更新我的 UI 时,我的用户控件变黑。

    在不包含 BackColorTransparent 属性的 TableLayoutPanel 中发现了我的用户控件

    为了解决我的问题,我刷新控件。一个代码sn-p如下所示:

    foreach (Control subControls in this.MainTableLayoutPanel.Controls)
    {
        foreach (Control control in subControls.Controls)
        {
            control.Refresh();
        }
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2014-01-25
      • 1970-01-01
      • 2012-02-22
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2010-11-25
      • 1970-01-01
      相关资源
      最近更新 更多