Я пытаюсь выяснить, как установить строку для общедоступного значения из цикла метода, который вызывается фоновым рабочим.Получить String из метода Backgroundworker, переданного в элемент управления webbrowser
В основном у меня есть цикл foreach, который устанавливает различные значения строк, а затем анализирует их. У меня есть конкретный оператор if, который оценивает значение, заданное для строки. Если эта строка = «остановить», я хочу установить значение строки результата в общедоступное значение, к которому затем можно получить доступ другой формой, которая является элементом управления веб-браузером.
Я не могу понять, как установить строку для общедоступного значения. Вот то, что я прямо сейчас:
Основная форма:
public string result
{
get { return result; }
set { result = value; }
}
Тогда в DoWork я вызываю метод и внутри метода есть, если заявление оценивает строки и вызывает форму, которая имеет WebBrowser управление встроено. В этой форме у меня есть:
private update updateform = null;
public browser(Form callingForm) : this()
{
updateform = callingForm as update;
}
public browser()
{
InitializeComponent();
webBrowser1.DocumentText = updateform.result;
}
Это можно сделать?
Не знаете, в чем проблема именно ... U хотите установить общедоступное свойство mainform, если строка равна «stop» из формы браузера? – Niklas
Вы получаете какие-либо ошибки или проблемы, не знаете, как получить доступ к свойству mainform? – Niklas
Если вы не хотите использовать employee.completed, вам нужно вызывать свои изменения в пользовательском интерфейсе - backgroundworker работает в другом потоке, чем ваш пользовательский интерфейс. Что-то вроде Invoke (новый MethodInvoker (updatePageItem)); –