バックグラウンドワーカーから呼び出されたメソッドループ内から文字列をパブリック値に設定する方法を解明しようとしています。WebBrowserコントロールに渡されるBackgroundworkerメソッドから文字列を取得
私は基本的に、さまざまな文字列値を設定し、その後それらを解析するforeachループを持っています。私は文字列に設定された値を評価する特定のif文を持っています。その文字列= "停止"の場合は、結果の文字列の値を公開値に設定し、WebBrowserコントロールである別のフォームからアクセスできるようにします。
文字列を公開値に設定する方法がわかりません。ここで私が今持っているものです。
メインフォーム:私はメソッドの内部メソッドを呼び出すと、DoWorkで次に
public string result
{
get { return result; }
set { result = value; }
}
がある文は、文字列を評価し、ウェブブラウザを持つフォームを呼び出す場合組み込み制御。その形で私は持っています:
private update updateform = null;
public browser(Form callingForm) : this()
{
updateform = callingForm as update;
}
public browser()
{
InitializeComponent();
webBrowser1.DocumentText = updateform.result;
}
これはできますか?
問題が正確にわかりません...文字列がブラウザのフォームから "停止"した場合、mainformのpublicプロパティを設定しますか? – Niklas
mainformのプロパティにアクセスする方法がわからないのですが、何かエラーや問題が発生していますか? – Niklas
worker.completedを使用しない場合は、UIへの変更を呼び出す必要があります - backgroundworkerはUIとは異なるスレッドで動作します。 Invokeのようなもの(新しいMethodInvoker(updatePageItem)); –