private void listViewTiming_MouseDown(object sender, MouseEventArgs e) { if (e.Clicks == 2) { using (var dialog = new AnimationTimingDialog()) { var indices = this.listViewTiming.SelectedIndices; int index = indices.Count > 0 ? indices[0] : -1; dialog.Timing = index >= 0 ? this._animation.timings[index] : new Animation.Timing(); if (dialog.ShowDialog() == DialogResult.OK) { if (index >= 0) this._animation.timings[index] = dialog.Timing; else this._animation.timings.Add(dialog.Timing); this.RefreshTimings(); } } } }