从外部拖放中检测修饰键

本文关键字:检测 拖放 从外部 | 更新日期: 2023-09-27 18:09:39

当DragAndDrop源在我自己的应用程序外部时,我似乎无法使用Keyboard.Modifiers检测任何ModifiersKey。

使用像

这样的简单处理程序
private void dragNdrop_Drop(object sender, DragEventArgs e)
{
    MessageBox.Show(Keyboard.Modifiers);
}

对于我自己的方法来说就像一个魅力

private void onClick_Button(object sender, MouseButtonEventArgs e)
{
    Button btn = (Button)sender;
    DataObject dragData = new DataObject(DataFormats.StringFormat, btn.Tag);
    DragDrop.DoDragDrop(this, dragData, DragDropEffects.Link);
}

但是当从任何资源管理器拖动项目时,Keyboard.Modifiers只显示None

我哪里做错了?

从外部拖放中检测修饰键

您正在寻找e.AllowedEffectse.KeyStates