john1990_1 Ответов: 2

Скопируйте текст из текстового поля на веб-сайте в элементе управления webbrowser, чтобы перемещаться по нему с помощью другого элемента управления браузером без потери иностранных языков?


Мне нужно сделать его Unicode.

Я хочу, чтобы текст в текстовом поле источника Google Translate переходил в другой элемент управления веб-браузером для поиска фотографий текста в Google Images...

Что я уже пробовал:

string query;

try
            {
                query = webBrowserMain.Document.GetElementById("source").GetAttribute("value").Replace(" ", "+");
            }
            catch { }

2 Ответов

Рейтинг:
0

Graeme_Grant

Согласно документации Microsoft, Буфер обмена.Метод SetText (String) (System.Окна)[^] использует UTF16


john1990_1

Буфер обмена-это не то, о чем я говорю, это установка содержимого текстового поля в строке под названием query и последующая навигация:
webBrowserPics. Navigate("google.com//search?site=& tbm=isch& q=" + query);

Graeme_Grant

да, ну, это было неясно в вашем вопросе. Вам нужно обновить его, чтобы сказать "WebBrowser Control", а не" webbrowser " - это очень разные вещи.

john1990_1

к сожалению, сделано, спасибо.

Graeme_Grant

Читабельны ли результаты? Возможно, вам придется преобразовать ASCII/UTF8 в UTF16/Unicode перед использованием во втором элементе управления WebBrowser. Это может помочь: .net - преобразование Юникода в строку в C# - переполнение стека[^]

john1990_1

Ссылка, которую вы дали, не объясняет, как сделать:
запрос = webBrowserMain.Документ.GetElementById ("источник").GetAttribute ("значение").Заменять(" ", "+");
и сделайте строку запроса как Unicode, а затем сделайте Navigate () для запроса как Unicode.

Рейтинг:
0

john1990_1

solved with:
WebUtility.UrlEncode