【发布时间】:2026-01-12 06:10:01
【问题描述】:
当我在列表框中拖动一些文本时,我需要使用一些键更改拖放效果。
bool ctrlD = false;
private void MainForm_KeyDown(object sender, KeyEventArgs e)
{
if (e.Control && e.KeyCode == Keys.D)
ctrlD = true;
}
// KeyUp
private void textBox_MouseDown(object sender, MouseEventArgs e)
{
textBox.DoDragDrop(textBox.Text, DragDropEffects.All);
}
private void listBox_DragOver(object sender, DragEventArgs e)
{
if (ctrlD) e.Effect = DragDropEffects.Copy;
else e.Effect = DragDropEffects.Move;
}
问题是 DragOver 方法看不到何时按下任何键。效果不变。我该怎么办?
【问题讨论】:
-
@Hans Passant 我仍然无法理解如何更改光标效果。 QueryContinueDrag 没有帮助
标签: c# winforms drag-and-drop cursor keydown