/// <summary> /// 当鼠标松开时触发DrapDrop消息 /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void listTarget_DragDrop(object sender, DragEventArgs e) { if (sourceDrag) { if (listTarget.SelectedIndex < 0) { step.Add(CHPPara.IniStep((EStepName)(listSource.SelectedIndex), listTarget.Items.Count)); listTarget.Items.Add(e.Data.GetData(DataFormats.Text)); } else { step.Insert(listTarget.SelectedIndex, CHPPara.IniStep((EStepName)(listSource.SelectedIndex), listTarget.SelectedIndex)); listTarget.Items.Insert(listTarget.SelectedIndex, e.Data.GetData(DataFormats.Text)); } } }
/// <summary> /// 绑定控件 /// </summary> private void IntialControl() { hpChan = new udcHPChan(); hpChan.Dock = DockStyle.Fill; panel1.Controls.Add(hpChan, 0, 3); hpPara = new udcHPPara(); hpPara.Dock = DockStyle.Fill; panel3.Controls.Add(hpPara, 0, 1); hpPara.OnStepChange.OnEvent += new COnEvent <udcHPPara.CStepChangeArgs> .OnEventHandler(OnStepValChange); hpPara.SetItem(CHPPara.IniStep(EStepName.AC, 0)); c_HPStepName = new string[] { CLanguage.Lan("交流电压耐压(AC)测试"), CLanguage.Lan("直流电压耐压(DC)测试"), CLanguage.Lan("绝缘阻抗(IR)测试"), CLanguage.Lan("开短路侦测(OS)测试") }; }
/// <summary> /// 调用拖和放使用DoDragDrop方法-->在MouseDown事件中实现 /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void listSource_MouseDown(object sender, MouseEventArgs e) { if (listSource.SelectedIndex < 0) { return; } sourceDrag = true; if (e.Clicks == 2) //双击鼠标添加测试项目 { step.Add(CHPPara.IniStep((EStepName)(listSource.SelectedIndex), listTarget.Items.Count)); listTarget.Items.Add(listSource.Items[listSource.SelectedIndex]); } else { if (e.Button == MouseButtons.Left) //鼠标按下左键 { DragDropEffects dragDropResult = listSource.DoDragDrop(listSource.Items[listSource.SelectedIndex], DragDropEffects.Move | DragDropEffects.Copy); } } }