分别对应控件注册如下事件DragEnter,MouseDown,DragDrop
代码如下:
//P128 DataGridView的托动改成listBox的拖动
private void listBox1_DragEnter(object sender, DragEventArgs e)
{
e.Effect = DragDropEffects.Move;
}
private void listBox2_DragEnter(object sender, DragEventArgs e)
{
e.Effect = DragDropEffects.Move;
}
private void listBox1_MouseDown(object sender, MouseEventArgs e)
{
listBox1.DoDragDrop(listBox1.Text, DragDropEffects.Move);
//MessageBox.Show(listBox1.Text);
}
private void listBox2_DragDrop(object sender, DragEventArgs e)
{
//MessageBox.Show((string)e.Data.GetData(typeof(string)));
listBox2.Items.Add((string)e.Data.GetData(typeof(string)));
}
button注册快捷键方式:
//方法一
protected override bool ProcessCmdKey(ref Message msg, Keys keyData)
{
if (keyData==(Keys.Control | Keys.R))
{
this.buttonX1.PerformClick();
return true;
}
return base.ProcessCmdKey(ref msg, keyData);
}
//方法二
protected override bool ProcessDialogKey(Keys keyData)
{
if (keyData==(Keys.Control|Keys.Shift|Keys.R))
{
this.buttonX1.PerformClick();
return true;
}
return base.ProcessDialogKey(keyData);
}
private void buttonX1_Click(object sender, EventArgs e)
{
MessageBox.Show("被点击了!");
}