gpt4 book ai didi

c# - 通过用户控件中的按钮使用浏览器搜索 `Ctrl+F`

转载 作者:行者123 更新时间:2023-11-30 14:46:24 27 4
gpt4 key购买 nike

在我的用户控件中,我使用 webbrowser 元素作为富文本编辑器。当按下 Ctrl+F 时,会显示一个 winform,您可以键入搜索。但是每个用户可能都不知道Ctrl+F 来进行搜索。因此,我添加了一个用于搜索 toolStrip 菜单的图标。但我不知道我在 SearchButton_Click 事件中编写了什么代码来显示搜索表单,就像单击 Ctrl+F 一样。

最佳答案

您可以发送commands使用 IOleCommandTarget 到托管 Web 控件.它应该等同于 HtmlDocument.ExecCommand方法,但由于某些原因,一些命令在后面不起作用。

您要执行的命令是 IDM_FIND .

下面是一些运行它的 C# 代码:

private void SearchButton_Click(object sender, EventArgs e)
{
dynamic ax = webBrowser1.ActiveXInstance;

// IHtmlDocument2 also implements IOleCommandTarget
var qi = (IOleCommandTarget)ax.Document;

// MSHTML commands group
var CGID_MSHTML = new Guid("de4ba900-59ca-11cf-9592-444553540000");
const int IDM_FIND = 67;
qi.Exec(CGID_MSHTML, IDM_FIND, 0, null, null);
}

[Guid("b722bccb-4e68-101b-a2bc-00aa00404770"), InterfaceType(ComInterfaceType.InterfaceIsIUnknown)]
public interface IOleCommandTarget
{
void NotDefinedHere(); // don't remove this

[PreserveSig]
int Exec([MarshalAs(UnmanagedType.LPStruct)] Guid pguidCmdGroup, int nCmdID, int nCmdexecopt, object pvaIn, [In, Out] object pvaOut);
}

关于c# - 通过用户控件中的按钮使用浏览器搜索 `Ctrl+F`,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49075472/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com