private void UpdateTrackBar(TrackBar tb, int value) { if (tb.InvokeRequired) { tb.BeginInvoke((MethodInvoker) delegate() { tb.Value = value; }); } else { tb.Value = value; } }
/// <summary> /// 変更時にメッセージボックスを表示する /// </summary> /// <param name="track">NumericUpDown</param> static void ValueChangedEvent(TrackBar track) { EventHandler handler = null; handler = delegate { MessageBox.Show(""); track.BeginInvoke((MethodInvoker) delegate { track.ValueChanged -= handler; }); }; track.ValueChanged += handler; }
void ReportReceived(object sender, ProcessEventArgs e) { double progress = e.progress; int value = (int)Math.Round((seekBar.Maximum * e.progress)); if (value > seekBar.Maximum) { value = seekBar.Maximum; } seekBar.BeginInvoke(new progressDelegate(ChangeProgress), new object[] { value, e.maxTimeSeconds }); if (value == seekBar.Maximum && !repeatCheck.Checked) { playButton.BeginInvoke(new generalDelegate(ChangePlayButton)); } if (value < seekBar.Maximum && playButtonIsPlay) { // if sound played but playButton is not "Pause" playButton.BeginInvoke(new generalDelegate(ChangePlayButton)); } if (titleLabel.Text != e.title) { titleLabel.BeginInvoke(new stringDelegate(SetTitle), new object[] { e.title }); } }