エクスポート (0) 印刷
すべて展開
展開 最小化
この記事は機械翻訳されたものです。 記事の文章にポインターを重ねると、原文のテキストが表示されます。 詳細情報
訳文
原文

QueryContinueDragEventHandler デリゲート

Control QueryContinueDrag イベントを処理するメソッドを表します。

名前空間:  System.Windows.Forms
アセンブリ:  System.Windows.Forms (System.Windows.Forms.dll 内)

public delegate void QueryContinueDragEventHandler(
	Object sender,
	QueryContinueDragEventArgs e
)

パラメーター

sender
型 : System.Object
イベントのソース。
e
型 : System.Windows.Forms.QueryContinueDragEventArgs
イベント データを格納している QueryContinueDragEventArgs

QueryContinueDragEventHandler デリゲートを作成する場合は、イベントを処理するメソッドを識別してください。 イベントをイベント ハンドラーに関連付けるには、デリゲートのインスタンスをイベントに追加します。 デリゲートを削除しない限り、そのイベントが発生すると常にイベント ハンドラーが呼び出されます。 デリゲートを使用したイベント処理の詳細については、「イベントとデリゲート」を参照してください。

2 つの ListBox コントロールの間でドラッグ アンド ドロップ操作を実行する例を次に示します。 この例では、ドラッグ アクションが開始したときに DoDragDrop メソッドが呼び出されます。 ドラッグ操作は、MouseDown イベント実行中のマウス位置から SystemInformation.DragSize を超えてマウスが移動したときに開始されます。 IndexFromPoint メソッドは、MouseDown イベントで、ドラッグする項目のインデックスを判別するために使用します。

この例では、ドラッグ アンド ドロップ操作でカスタム カーソルを使用する方法についても示します。 この例では、2 つのカーソル ファイル (3dwarro.cur3dwno.cur) がアプリケーション ディレクトリ内に存在していることを想定しています。なお、それぞれのファイルはドラッグ用のカスタム カーソルとドロップなしのカスタム カーソルを表します。 カスタム カーソルは、UseCustomCursorsCheckCheckBox がオンになっている場合に使用されます。 カスタム カーソルは、GiveFeedback イベント ハンドラーで設定されます。

キーボードの状態は、右側の ListBoxDragOver イベント ハンドラーで評価されます。ドラッグ操作の内容は、Shift キー、Ctrl キー、Alt キー、または Ctrl + Alt キーの状態によって決まります。 ドロップが発生する ListBox 内の位置は、DragOver イベント時にも判定されます。 ドロップするデータが String でない場合は、DragEventArgs.EffectDragDropEffects.None に設定されます。 最後に、ドロップのステータスが DropLocationLabelLabel に表示されます。

右側の ListBox にドロップするデータは、DragDrop イベント ハンドラーで判定されます。また、String 値が ListBox の該当する場所に追加されます。 ドラッグ操作がフォームの範囲を超えて移動した場合、ドラッグ アンド ドロップ操作は QueryContinueDrag イベント ハンドラーでキャンセルされます。

QueryContinueDrag イベントで QueryContinueDragEventHandler デリゲートを使用する例を次に示します。 コード例全体については、DoDragDrop メソッドのトピックを参照してください。


private void ListDragSource_QueryContinueDrag(object sender, System.Windows.Forms.QueryContinueDragEventArgs e) {
    // Cancel the drag if the mouse moves off the form.
    ListBox lb = sender as ListBox;

    if (lb != null) {

        Form f = lb.FindForm();

        // Cancel the drag if the mouse moves off the form. The screenOffset
        // takes into account any desktop bands that may be at the top or left
        // side of the screen.
        if (((Control.MousePosition.X - screenOffset.X) < f.DesktopBounds.Left) ||
            ((Control.MousePosition.X - screenOffset.X) > f.DesktopBounds.Right) ||
            ((Control.MousePosition.Y - screenOffset.Y) < f.DesktopBounds.Top) ||
            ((Control.MousePosition.Y - screenOffset.Y) > f.DesktopBounds.Bottom)) {

            e.Action = DragAction.Cancel;
        }
    }
}


.NET Framework

サポート対象 : 4.5.2、4.5.1、4.5、4、3.5、3.0、2.0、1.1、1.0

.NET Framework Client Profile

サポート対象 : 4、3.5 SP1

Windows Phone 8.1, Windows Phone 8, Windows 8.1, Windows Server 2012 R2, Windows 8, Windows Server 2012, Windows 7, Windows Vista SP2, Windows Server 2008 (サーバー コア ロールはサポート対象外), Windows Server 2008 R2 (SP1 以降でサーバー コア ロールをサポート。Itanium はサポート対象外)

.NET Framework では、各プラットフォームのすべてのバージョンはサポートしていません。サポートされているバージョンについては、「.NET Framework システム要件」を参照してください。

コミュニティの追加

追加
表示:
© 2015 Microsoft