c# - 动态图片框取决于显示器尺寸? C#

标签 c# .net winforms youtube

我在我的 C# 应用程序中使用了一个图片框,我希望它覆盖 Web 浏览器的某个部分(youtube 上的用户名部分)。

我有一个 21.5 英寸的显示器,这对我来说是这样的:



但对于我的一位使用 24 英寸显示器的用户来说,这就是它的样子:



如您所见,由于该人的屏幕尺寸,图片框的位置已向上移动(我相信)

有没有办法确保它始终位于 Web 浏览器的该部分或将其移动到 Web 浏览器的该部分?

谢谢。

最佳答案

我相信您的方法是错误的,并且会因屏幕分辨率或尺寸更改或使用鼠标滚轮放大/缩小页面或其他任何原因而随时中断。它只是不可靠的,并且通过在您想要隐藏的内容之上重叠另一个 UI 控件(如图片框或面板)来修补它是不安全且不可靠的。

我认为你有两个真正的选择是这些:

  • 您尝试解释页面内容并从页面的 DOM 中删除您不想向用户显示的信息(最终 HTML Agility Pack 可能有助于此 DOM 解析和操作,但我不确定您是否可以阅读 WebBrowser 控件正在显示并向其中注入(inject)更改);
  • 使用 YouTube APIs and Tools - .NET APIs加载您想要加载和显示的视频和详细信息,但使用您的 Windows 窗体应用程序中的特定 UI 元素呈现此信息,而不使用浏览器显示正常的 YouTube 站点。

  • 可能第二个选项需要更多的工作,但更安全,我不确定 100%,正如我所说,如果第一个选项完全可行。您可以搜索 HTML Agility Pack 和 Web 浏览器控件,看看之前是否有人这样做过 :)

    关于c# - 动态图片框取决于显示器尺寸? C#,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7546390/

    相关文章:

    c# - C# 中的 WinRT 数据虚拟化实现

    c# - 如何在类构造函数/计时器回调中等待任务

    .net - 通用约束中的枚举

    c# - 删除选项卡上的按钮边框 c# winforms

    c# - 用C#生成完全随机的偶数

    c# - 我们应该如何使用异步等待?

    c# - 使用 Agility Pack 设置外部加载网页的文本框内部文本

    c# - 异步计时问题

    c# - Moq,Setup() 和 Returns() 之间的类型不匹配

    winforms - 如何在winforms设计器中公开用户控件的整个子控件