Ich hatte die nun folgende Frage letzte Woche noch zurückgehalten, weil ich der Meinung war, dass sich die Antwort in meinem Buch finden würde, dass ich mit extra für C# und .net gekauft habe, aber leider ist dem nicht so. Es geht darum, dass ich den Thread so lange laufen lassen möchte, bis der "Stop"-Button gedrückt wird. Leider wird in dem Buch aber alles so erklärt, dass jeder Knopf eine Aktion durchführt, also der Programmcode immer so beginnt:
Wenn ich da ein t.abort(); einsetze wird das logischerweise nicht erkannt. Nun wollte ich das abkürzen und habe kurzerhand das gemacht:
Egal wie ich es drehe und wende. Ich bekomme es nicht hin, dass der "Stop"-Button eine Funktion übernehmen kann, weil es jedes mal falsch sein soll. Habe auch Varianten wie diese probiert (und zahlreiche andere), aber das wird so nix.
Ansonsten wäre das Tool fertig. Kleine Bugs habe ich behoben (Wie beispielsweise Klammerfehler der dazu führte, dass immer *.doc-Dokumente gefunden wurden, selbst wenn es nicht angehakt war)
C#:
private void cmdStop_Click(object sender, EventArgs e)
{
}
C#:
private void cmdSuchen_Click(object sender, EventArgs e)
{
listView1.Items.Clear();
string path = cmbLaufwerk.Text;
string searchPattern = "*" + txtSuchbegriff.Text + "*";
System.Threading.Thread t = new System.Threading.Thread(delegate() { Search(path, searchPattern); });
t.Start();
if ((bool)cmdStop_Click == true)
{
t.Abort();
}
}
Egal wie ich es drehe und wende. Ich bekomme es nicht hin, dass der "Stop"-Button eine Funktion übernehmen kann, weil es jedes mal falsch sein soll. Habe auch Varianten wie diese probiert (und zahlreiche andere), aber das wird so nix.
C#:
if ((bool)cmdStop.Click = true)
Ansonsten wäre das Tool fertig. Kleine Bugs habe ich behoben (Wie beispielsweise Klammerfehler der dazu führte, dass immer *.doc-Dokumente gefunden wurden, selbst wenn es nicht angehakt war)