我如何在c#中找到web浏览器中选择的图像

本文关键字:web 浏览器 选择 图像 | 更新日期: 2023-09-27 18:08:45

我有一个web浏览器,它的编辑模式是打开的,并且用户可以使用它。

用户可以插入图像,但不使用web浏览器控件的UI,但是他们从表单中选择一个图像,然后通过下面的代码插入它们:

private void insert_image_btn_Click(object sender, EventArgs e)
{
    HtmlElement userimage = webBrowser1.Document.CreateElement("img");
    userimage.SetAttribute("src", "image location");
    userimage.Id = "imageid";
    webBrowser1.Document.Body.AppendChild(userimage);
}

和我想写一些代码,用户可以改变任何图像的对齐方式,插入到web浏览器中,我给他们一个组合框,可以选择他们想要的对齐方式。但问题是,当他们点击一个图像,然后改变组合框的值,我找不到什么图像被用户点击改变对齐。

我怎么能找到什么图像被选中?

我找到了答案

private void Document_ContextMenuShowing(object sender, HtmlElementEventArgs e)
{
e.ReturnValue = false;
selectedElement = webBrowser1.Document.GetElementFromPoint(e.MousePosition);
string tag = selectedElement.TagName;
if (tag == "IMG")
{
alignmentTscb.Enabled = true;
alignmentTscb.Text = selectedElement.GetAttribute("align");
}
else
alignmentTscb.Enabled = false;
}

selectedElement是用户右键点击的元素。

我如何在c#中找到web浏览器中选择的图像

您可以将图像控件存储在一个数组中,并使用一个类级别变量来告诉您最后单击的是哪个。

在图像的click事件处理程序中,您可以设置该变量。

当下拉框中的一个值被选中时,您可以检查变量以查看最后点击的是哪个图像。然后查看图像数组并根据需要进行对齐。

让我知道如果你需要一个代码的例子。