ToolStripItem.GiveFeedback イベント

定義

ドラッグ操作中に発生します。

public:
 event System::Windows::Forms::GiveFeedbackEventHandler ^ GiveFeedback;
[System.ComponentModel.Browsable(false)]
public event System.Windows.Forms.GiveFeedbackEventHandler GiveFeedback;
[System.ComponentModel.Browsable(false)]
public event System.Windows.Forms.GiveFeedbackEventHandler? GiveFeedback;
[<System.ComponentModel.Browsable(false)>]
member this.GiveFeedback : System.Windows.Forms.GiveFeedbackEventHandler 
Public Custom Event GiveFeedback As GiveFeedbackEventHandler 

イベントの種類

属性

次のコード例では、このメンバーの使用方法を示します。 この例では、イベント ハンドラーがイベントの GiveFeedback 発生を報告します。 このレポートは、イベントが発生したタイミングを確認するのに役立ち、デバッグに役立ちます。 複数のイベントまたは頻繁に発生するイベントを報告するには、 を Console.WriteLine に置き換えるかMessageBox.Show、複数行TextBoxにメッセージを追加することを検討してください。

コード例を実行するには、 や ToolStripMenuItemなどの をToolStripItem継承する型のインスタンスを含むプロジェクトにToolStripButton貼り付けます。 次に、インスタンス ToolStripItem1 に名前を付け、イベント ハンドラーがイベントに GiveFeedback 関連付けられていることを確認します。

private void ToolStripItem1_GiveFeedback(Object sender, GiveFeedbackEventArgs e) {

System.Text.StringBuilder messageBoxCS = new System.Text.StringBuilder();
messageBoxCS.AppendFormat("{0} = {1}", "Effect", e.Effect );
messageBoxCS.AppendLine();
messageBoxCS.AppendFormat("{0} = {1}", "UseDefaultCursors", e.UseDefaultCursors );
messageBoxCS.AppendLine();
MessageBox.Show(messageBoxCS.ToString(), "GiveFeedback Event" );
}
Private Sub ToolStripItem1_GiveFeedback(sender as Object, e as GiveFeedbackEventArgs) _ 
     Handles ToolStripItem1.GiveFeedback

    Dim messageBoxVB as New System.Text.StringBuilder()
    messageBoxVB.AppendFormat("{0} = {1}", "Effect", e.Effect)
    messageBoxVB.AppendLine()
    messageBoxVB.AppendFormat("{0} = {1}", "UseDefaultCursors", e.UseDefaultCursors)
    messageBoxVB.AppendLine()
    MessageBox.Show(messageBoxVB.ToString(),"GiveFeedback Event")

End Sub

注釈

このイベントは GiveFeedback 、ドラッグ アンド ドロップ操作が開始されると発生します。 GiveFeedbackイベントを使用すると、ドラッグ アンド ドロップ操作中にユーザーに視覚的なフィードバックを提供するために、ドラッグ イベントのソースでマウス ポインターの外観を変更できます。

次の解説では、ドラッグ アンド ドロップ操作に関連するイベントが発生する方法とタイミングについて説明します。

メソッドは DoDragDrop 、現在のカーソル位置の下にある項目を決定します。 次に、項目が有効なドロップ ターゲットであるかどうかを確認します。

項目が有効なドロップ ターゲットの場合、 GiveFeedback ドラッグ アンド ドロップ効果を指定してイベントが発生します。 ドラッグ アンド ドロップ効果の一覧については、DragDropEffects 列挙体を参照してください。

マウス カーソルの位置、キーボードの状態、およびマウス ボタンの状態の変更は、次の方法で追跡されます。

  • ユーザーがウィンドウの外に移動した場合、DragLeave イベントが生成されます。

  • マウスが別の項目に入ると、そのコントロールの が DragEnter 発生します。

  • マウスが移動しても、同じ項目内に留まる場合は、 DragOver イベントが発生します。

キーボードまたはマウス ボタンの状態が変更された場合、イベントが発生し、QueryContinueDragドラッグを続行するか、データをドロップするか、イベントQueryContinueDragEventArgsの の プロパティの値に基づいて操作をAction取り消すかが決定されます。

DragAction 値が Continueの場合、操作を DragOver 続行するためにイベントが発生し、 GiveFeedback 適切な視覚的フィードバックを設定できるように、新しい効果でイベントが発生します。 有効なドロップ効果の一覧については、DragDropEffects 列挙体を参照してください。

DragOverイベントと GiveFeedback イベントはペアになっているため、マウスがドロップ ターゲットを移動すると、次のように、マウスの位置に関する最新のフィードバックがユーザーに与えられます。

  • DragAction 値が Dropの場合、ドロップ効果の値がソースに返されるため、ソース アプリケーションはソース データに対して適切な操作を実行できます。たとえば、操作が移動の場合はデータを切り取ります。

  • の値が のDragActionCancel場合、イベントが発生しますDragLeave

適用対象