Hey Comunity
Ich versuche mich gerade an einem kleinem Projekt und habe folgendes Problem:
Ich habe ein WPF Projekt mit Microsoft Visual C# 2010 (Zielframework: .NET Framework 4 Client Profile) aufgesetzt und mit 2 Textboxen sowie 2 Buttons versehen...
Die Textboxen sind für Start und Ende gedacht...
Der Erste Button führt die Schleife Von "Start" bis "Ende" aus.
Und der zweite Button gibt eine MessageBox aus.
Jetzt möchte ich, dass der erste Button meine While-Schleife startet aber die UI nicht freezt und man den zweiten Button, der eine MessageBox ausgibt weiterhin klicken kann... Das krieg ich aber irgendwie leider nicht hin...
Hoffe, dass ihr mir weiterhelfen könnt oder einen Link zum lesen habt
Ich finde nämlich irgendwie nichts... suche jetzt schon 2 Tage nach einer lösung dafür...
Oder ich bin einfach zu dämlich für Google & Suchfunktionen ^^''
Danke im Vorraus für eure Antworten!
Mayhem
Hier mal der Code von der MainWindow.xaml:
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19: 20: 21: 22: 23: 24: 25: 26: 27: 28: 29: 30: 31: 32: 33: 34: 35: 36: 37: 38: 39: 40: 41: 42: 43: 44: 45: 46: 47: 48: 49: 50: 51: 52:
| using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Windows; using System.Windows.Controls; using System.Windows.Data; using System.Windows.Documents; using System.Windows.Input; using System.Windows.Media; using System.Windows.Media.Imaging; using System.Windows.Navigation; using System.Windows.Shapes; using System.ComponentModel;
namespace whiletest { public partial class MainWindow : Window { public MainWindow() { InitializeComponent(); }
private void button1_Click(object sender, RoutedEventArgs e) { var worker = new BackgroundWorker(); worker.DoWork += worker_DoWork; worker.RunWorkerAsync(); } private void worker_DoWork(object sender, DoWorkEventArgs e) { int i = 0; this.Dispatcher.BeginInvoke(new Action(delegate() { while (Convert.ToInt32(textBox1.Text) < Convert.ToInt32(textBox2.Text)) { textBox1.Text = i.ToString(); i++; } })); }
private void button2_Click(object sender, RoutedEventArgs e) { MessageBox.Show("Ich bin eine MessageBox"); } } } |
und hier die SRC's des Projekt's:
85.214.124.247/whiletest.zip
Moderiert von
Th69: Code- durch C#-Tags ersetzt