我在C#应用程序中使用了一个图片框,我希望它覆盖网页浏览器的某个部分(youtube上的用户名部分)。
我有一台21.5英寸的显示器,这就是我的样子:
但是这对于我的一个24英寸显示器的用户来说是这样的:
正如您所看到的那样,由于人物的屏幕尺寸(我相信),图片框的位置已经上升了
有没有办法确保它始终位于网络浏览器的该部分或将其移动到网络浏览器的该部分?
感谢。
答案 0 :(得分:3)
我确信您的方法是错误的,并且无论是对于屏幕分辨率还是尺寸更改,或者使用鼠标滚轮放大/缩小页面或其他任何时候都会中断。它只是不可靠,并通过重叠另一个UI控件(如图片框或面板)来修补它,只是不安全和不可靠。
我认为你有两个真正的选择:
您尝试解释页面内容并从页面的DOM中删除您不希望向用户显示的信息(最终HTML Agility Pack可能有助于此DOM解析和操作,但我不确定您是否可以读取WebBrowser控件显示的内容并将更改注入其中);
使用YouTube APIs and Tools - .NET APIs加载要加载和显示的视频和详细信息,但在Windows窗体应用程序中使用特定的UI元素呈现此信息,而无需使用浏览器显示正常的YouTube网站
可能第二个选项需要更多的工作,但更安全,我不确定100%,正如我所说,如果第一个选项是可行的。您可以搜索HTML Agility Pack和Web浏览器控件,看看是否有人已经这样做过了:)