0

C# でドラッグ アンド ドロップ イベントを処理するのは初めてで、問題に直面しました。

ボタンとパネルを含むフォームを持つ WinForms プロジェクトがあります。パネルの AllowDrop プロパティを true に設定し、DragDrop イベントのハンドラーを追加しました。

panel1.DragDrop += new DragEventHandler(panel1_DragDrop);

ボタンの場合、DragDropEffects を初期化する MouseDown イベント ハンドラーを追加しました。

    void btn1_MouseDown(object sender, MouseEventArgs e)
    {
        (sender as Button).BorderStyle = System.Windows.Forms.BorderStyle.Fixed3D;
        DragDropEffects dde1 = DoDragDrop((sender as Button), DragDropEffects.All);
    }

Panel によって発生した DragDrop イベントに問題はありません。

私の質問は、AllowDrop プロパティが true に設定されている領域の外にユーザーがアイテムをドロップするイベントをどのように処理できますか? ドラッグ中にユーザーがパネルの外でマウスボタンを離したときに、Buttons BorderStyle を FixedSingle に設定し直したいとします。どのイベントを処理する必要がありますか?

4

1 に答える 1

1

パネルのDragLeaveイベントを処理します。

于 2013-07-21T16:43:57.720 に答える