如何配置c#Web浏览器搜索对话框行为

本文关键字:搜索 浏览器 对话框 c#Web 何配置 配置 | 更新日期: 2023-09-27 18:21:50

我有一个非常大的HTML文件要搜索(使用VS 2010中的web浏览器控件)。有没有办法将搜索框(CTRL-F)配置为而不是增量搜索?也就是说,如果我尝试键入单词"handbook",控件似乎开始扫描整个文档中的每个字母"h",而不是"ha"的每个实例-这对于短文档来说很好,但对于非常大的文档(我的大约35MB),这会使搜索变得毫无用处-不,我无法让文档供应商生成许多较小的文档-这是一个不启动的:-)

如何配置c#Web浏览器搜索对话框行为

尝试将搜索文本剪切并粘贴到搜索输入中,而不是键入。

首先使用线程来调用搜索方法。然后在搜索方法中使用CCD_ 1等待用户写出正确的搜索模式。然后得到TextBox.Text(Serach Pattern)

这是示例代码:

最初:

using System.Threading;

Form1构造函数:

public Form1()
    {
        InitializeComponent();
        Form1.CheckForIllegalCrossThreadCalls = false;
        //another codes that you want
    }

TextBox TextChanged事件:

private void textBox1_TextChanged(object sender, EventArgs e)
{
    Thread t=new Thread(SearchMethod);
    t.Start();    
}

搜索方法:

private SearchMethod()
{
    Thread.Sleep(5000); //wait 5 second in this state form doesn't hang. 
    Search(TextBox.Text);
}

搜索:

private Search(string pattern)
{
    //Do search
}

这是另一种方式。对于您庞大的字符串,您可以使用LINQ查找数据。它比其他方式更快。你应该使用谷歌来学习LINQ,但这可以帮助你开始使用LINQ

我认为您可能因为windows IE版本而遇到问题。因为网络浏览器使用IE来呈现(也许还搜索)页面。

你也可以使用htmlagilitypack(我认为它很有用)