以下のコードは正常に実行されます。それが本当に正しいのだろうか?C#4.0 Parallel.ForEach内からのフォームコントロールへのアクセス
if (openFileDialog.ShowDialog() == DialogResult.OK)
{
Parallel.ForEach(openFileDialog.FileNames, currentFile =>
{
try
{
StreamReader FileReader = new StreamReader(currentFile);
do
{
URLtextBox.Invoke(new MethodInvoker(delegate
{
URLtextBox.Text += SelectURLfromString(FileReader.ReadLine());
}));
}
while (FileReader.Peek() != -1);
FileReader.Close();
}
catch (System.Security.SecurityException ex)
{
...
}
catch (Exception ex)
{
...
}
});
}
は、そうでなければ、私はどちらかを取得「クロススレッド操作ではない有効な。別のスレッドからアクセスコントロール 『URLtextBox』」やスタックのアプリケーション。
ああ、素敵な発言!ありがとう。 – 84RR1573R