GiveFeedback事件更改Cursor

时间:2013-10-10 06:36:52

标签: c# .net drag-and-drop

我有一个控件,它嵌入了两个UserControl,那些用户控件有一些子控件。

供参考:


**MyControl**      

*User Control 1 (UC1)*

    SubControl UC1-1

*User Control 2 (UC2)*

    SubControl UC2-1          SubControl UC2-2            SubCOntrol UC2-3

现在从UC1-1我必须拖动一个对象并将其放在UC2-2上。

为此,我已将UC2和UC2-2的AllowDrop属性设置为true,将UC2-1和UC2-3设置为false,以便不能在这些控件上删除该对象。

我正在使用UC1-1控件的GiveFeedback事件来更改光标。

private void grid_GiveFeedback(object sender, GiveFeedbackEventArgs e)
{
    e.UseDefaultCursors = false;
    Cursor.Current = MyCursor;
}

当我将鼠标拖到UC2上时,光标会发生变化,但是所有子控件 - UC2-1,UC2-2和UC2-3都会更改光标。

编辑:

要复制效果我已经处理了DragEnter事件。

private void UC2_2_DragEnter(object sender, DragEventArgs e)
{
    e.Effect = DragDropEffects.Copy;
}

我想要的是仅在光标移动到UC2-2而不是UC2-1和UC2-3时更改光标。

0 个答案:

没有答案