void CancelBtn_Click(object sender, EventArgs e) { VisualBinding visualBinding = visualBindings.FirstOrDefault(x => x.CancelBtn.Equals((Button)sender)); CancelAction(visualBinding); }
void CancelAction(VisualBinding visualBinding) { visualBinding.SearchBtn.Enabled = true; visualBinding.CancelBtn.Enabled = false; visualBinding.Result.Cancel(); visualBinding.Result.Dispose(); visualBinding.Result = null; }
void SearchBtn_Click(object sender, EventArgs e) { VisualBinding vb = visualBindings. FirstOrDefault(x => x.SearchBtn.Equals((Button)sender)); vb.SearchBtn.Enabled = false; vb.CancelBtn.Enabled = true; vb.Result = this.searcher.Search(vb.TextBox.Text); vb.Label.Text = "0"; }
/// <summary> /// Executed when the form loads /// </summary> /// <param name="sender">Sender</param> /// <param name="e">Arguments</param> private void FileSearch_Load(object sender, EventArgs e) { filenameBox.Text = FILE_NAME; this.visualBindings[0] = new VisualBinding { TextBox = this.textBox1, CancelBtn = this.cancel1, SearchBtn = this.search1, Label = this.result1 }; visualBindings[1] = new VisualBinding { TextBox = this.textBox2, CancelBtn = this.cancel2, SearchBtn = this.search2, Label = this.result2 }; visualBindings[2] = new VisualBinding { TextBox = this.textBox3, CancelBtn = this.cancel3, SearchBtn = this.search3, Label = this.result3 }; visualBindings[3] = new VisualBinding { TextBox = this.textBox4, CancelBtn = this.cancel4, SearchBtn = this.search4, Label = this.result4 }; visualBindings[4] = new VisualBinding { TextBox = this.textBox5, CancelBtn = this.cancel5, SearchBtn = this.search5, Label = this.result5 }; foreach (var visualBinding in visualBindings) { visualBinding.TextBox.Text = String.Format("{0} {1}", SOME_STRING, random.Next(100)); visualBinding.CancelBtn.Enabled = false; visualBinding.Label.Text = "0"; visualBinding.SearchBtn.Click += new EventHandler(SearchBtn_Click); visualBinding.CancelBtn.Click += new EventHandler(CancelBtn_Click); } formTimer.Tick += new EventHandler((s, ea) => { RefreshResults(); }); formTimer.Interval = TIMER_INTERVAL; formTimer.Start(); }