【问题标题】:Changing the position of html elements in Windows Forms WebBrowser在 Windows 窗体 WebBrowser 中更改 html 元素的位置
【发布时间】:2015-10-18 14:55:50
【问题描述】:

是否可以更改 Windows 窗体 WebBrowser 控件中一个 html 元素的位置?我已经有了这个:

public partial class Form1 : Form
{
    public Form1()
    {
        InitializeComponent();
    }

    private void webBrowser1_DocumentCompleted(object sender, WebBrowserDocumentCompletedEventArgs e)
    {
        webBrowser1.Document.GetElementById("gpu_notice").Style = "display:none";
        webBrowser1.Document.GetElementById("header").OuterHtml = "";
        webBrowser1.Document.GetElementById("ads").OuterHtml = "";
        // move element "the_game" here
    }
}
}

下一步是移动一个元素...

【问题讨论】:

  • 您可以注入 javascript 来修改 DOM stackoverflow.com/questions/153748/… 或者您可以直接将动态创建的 DOM 加载到控件中。
  • @Wobbles 刚刚编辑了问题。
  • the_game 元素在哪里定义?如果您在文档中包含 jquery 库并且只使用 .append() 和 .detach() ,您可以注入 jquery 来处理这个问题
  • @Wobbles 你能教我怎么做吗?
  • 在您阅读了上面关于注入javascript的链接并将jquery库包含到您的文档中之后,javascript中的代码就像jQuery("#NodesToMove").detach().appendTo('#DestinationContainerNode')一样简单

标签: c# html forms


【解决方案1】:

您可以像这样通过将position 属性添加到Style 来移动the_game 元素。

var game = webBrowser1.Document.GetElementById("the_game");            
game.Style += "position: absolute; top: 50px; right: 20px;";

我建议阅读 this 并了解如何使用它。

【讨论】:

  • 我无法更改我正在使用的页面的 Html。
  • 然后,使用GetElementById() 之类的get 方法获取要移动游戏元素的元素,并附加游戏的OuterHtmldest.OuterHtml += game.OuterHtml.
  • 谢谢你,你帮了我很多!我必须在每个顶部和右侧放置 0px 以将元素对齐到中心。谢谢!
  • 嘿伙计,我知道这已经很久了,但是你能帮我解决这个问题吗? stackoverflow.com/questions/33465484/….
  • 嗨@DavidAmaral 我已经发布了我对这个问题的回答。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-04-12
  • 1970-01-01
  • 2012-05-07
  • 1970-01-01
  • 1970-01-01
  • 2013-10-20
相关资源
最近更新 更多