2010-11-26 4 views
1

J'essaie d'effectuer une simple opération de glisser-déposer depuis un bouton dans un formulaire enfant MDI vers un autre bouton dans un autre formulaire enfant MDI. Pour une raison quelconque, l'événement DragDrop ne se déclenche jamais lorsque je tente de faire glisser un bouton sur l'autre. Il peut être intéressant de noter que lorsque je fais glisser le bouton, mon curseur devient l'icône d'annulation du noir.Opérations de glisser-déposer sur des formulaires enfants MDI

Mon code:

#region ActivatesDragDropControl 
    [DllImport ("user32.dll")] 
    public static extern int SendMessage(IntPtr hWnd, int Msg, int wParam, int lParam); 

    private const int WM_NCACTIVATE = 0x0086; 
    #endregion 
    private void button1_MouseDown(object sender, MouseEventArgs e) 
    { 
     DoDragDrop(LocationNode, DragDropEffects.Link); 
     // to deactivate 
     SendMessage(Handle, WM_NCACTIVATE, 0, 0); 
    } 
    private void button1_DragDrop(object sender, DragEventArgs e) 
    { 
     //never gets here... 
    } 
    private void button1_DragEnter(object sender, DragEventArgs e) 
    { 
     // to activate 
     SendMessage(Handle, WM_NCACTIVATE, 1, 0); 
    } 
+0

quelle langue est-ce? –

+0

C# (extra extra extra) –

Répondre

1

OK donc j'ai joué un peu plus en utilisant DragEnter ne suffit pas; J'ai dû définir la valeur de l'événement DragEventArgs. Dans mon cas:

e.Effect = DragDropEffects.Link; 
Questions connexes