c# WinForms 中的透明 FlowLayoutPanel

问题描述

对于学校项目,我正在尝试构建一个类似 netflix 的应用程序。我和我的小组尝试在后台使用媒体播放器,并在前台显示控件,该控件应该是可滚动的。

现在,我们为此使用了 FlowLayoutPanel。

问题:它不支持透明度,因此后台播放器不可见。我们使用自定义 FlowLayoutPanel 取得了一些成功,但它存在一些问题:

  • 一旦有 UI 更新,面板就会进入后台并且不可恢复
  • VS 显然不喜欢自定义控件并且经常崩溃(不是软件崩溃,vs 崩溃)
  • 自定义 FlowLayoutPanel 不考虑流向 (TopToBottom) 等配置

这是我的自定义 FlowLayoutPanel:

using System;
using System.Windows.Forms;

class MyFlowLayoutPanel : FlowLayoutPanel {
  public MyFlowLayoutPanel() {
    this.SetStyle(ControlStyles.Opaque,true);
  }
  protected override CreateParams CreateParams {
    get {
      // Turn on the WS_EX_TRANSPARENT style
      CreateParams cp = base.CreateParams;
      cp.ExStyle |= 0x20;
      return cp;
    }
  }
}

关于改变什么或如何正确实施的任何想法?

下面你会看到它与普通 FlowLayoutPanel 的外观

enter image description here

您可以在后台看到播放器。 FlowLayoutPanel为此移到了一边。

通常,我会使用 WPF 轻松完成此操作,但不幸的是 WinForm 是一个固定要求。

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)

相关问答

错误1:Request method ‘DELETE‘ not supported 错误还原:...
错误1:启动docker镜像时报错:Error response from daemon:...
错误1:private field ‘xxx‘ is never assigned 按Alt...
报错如下,通过源不能下载,最后警告pip需升级版本 Requirem...