Hallo,
hier wurde mir schon einmal gut geholfen. Ich hoffe diesmal wieder. Danke.
Kurz erklärt:
Buttonclick leitet Event an Controller weiter, wo Parallel.For abgearbeitet wird. Pro Loop soll eine Statusinformation ans View ausgegeben werden. Leider hängt sich das Prog auf.
Was mache ich falsch? Ich benutze das Framework 3.5. Framework 4.0 bekomme ich nicht als Zielframework in VS 2008 zur Auswahl, trotz Installation, mal so am Rande erwähnt, sonst hätt ich es noch mit dem Scheduler versucht, wie es Bsp. bei MSDN zeigen.
Danke für Unterstützung.
MFG
sci
hier wurde mir schon einmal gut geholfen. Ich hoffe diesmal wieder. Danke.
Kurz erklärt:
Buttonclick leitet Event an Controller weiter, wo Parallel.For abgearbeitet wird. Pro Loop soll eine Statusinformation ans View ausgegeben werden. Leider hängt sich das Prog auf.
Was mache ich falsch? Ich benutze das Framework 3.5. Framework 4.0 bekomme ich nicht als Zielframework in VS 2008 zur Auswahl, trotz Installation, mal so am Rande erwähnt, sonst hätt ich es noch mit dem Scheduler versucht, wie es Bsp. bei MSDN zeigen.
Code:
static void Main() { View view = new View(); Controller cr = new Controller(view); Application.EnableVisualStyles(); Application.Run(view); } public partial class View : Form { public View() { InitializeComponent(); } public event EventHandler Calculate; internal void OnCalculate() { EventHandler tmp = Calculate; if (tmp != null) tmp(this, EventArgs.Empty); } delegate void GenericDelegate(); public void UpdateLabelText(string text) { GenericDelegate dlg = delegate() { this.label1.Text = text; }; label1.Invoke(dlg); } private void button1_Click(object sender, EventArgs e) { OnCalculate(); } } public class Controller { private View view; public Controller(View view) { this.view = view; this.view.Calculate += new EventHandler(view_Calculate); } void view_Calculate(object sender, EventArgs e) { System.Threading.Parallel.For(0, 5, delegate(int i) { view.UpdateLabelText(i.ToString()); }); } }
MFG
sci
Comment