Как настроить поведение диалога поиска в браузере c #? - PullRequest
2 голосов
/ 30 января 2012

У меня есть очень большой HTML-файл, в котором я хочу найти (используя элемент управления веб-браузера из VS 2010).Есть ли способ настроить поле поиска (CTRL-F) на , а не поиск с приращением?То есть, если я попытаюсь ввести слово «handbook», элемент управления, похоже, начнет сканирование всего документа на каждую букву «h», а не на каждый экземпляр «ha», что отлично подходит для коротких документов, но для очень больших.(у меня около 35 МБ), это делает поиск бесполезным - и нет, я не могу заставить поставщика документов производить много меньших документов - это не начало: -)

Ответы [ 4 ]

0 голосов
/ 20 февраля 2013

Я думаю, что у вас могут быть проблемы из-за версии Windows IE.Поскольку веб-браузер использует IE для отображения (и, возможно, поиска) страницы.

, и вы также можете использовать htmlagilitypack (я думаю, что это может быть полезно)

0 голосов
/ 30 января 2012

сначала используйте потоки для вызова метода поиска. затем используйте Thread.Sleep(/*the number*/); в методе поиска, чтобы дождаться, когда пользователь напишет правильный шаблон поиска. затем получите 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
}
0 голосов
/ 30 января 2012

Это еще один способ. для вашей огромной строки вы можете использовать LINQ для поиска данных. Это быстрее, чем другие способы. Вы должны использовать Google для изучения LINQ, но это может помочь вам начать с LINQ

0 голосов
/ 30 января 2012

Попробуйте вырезать и вставить поисковый текст в поисковый ввод, а не набирать его.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...