ToolStripItem.GiveFeedback ToolStripItem.GiveFeedback ToolStripItem.GiveFeedback ToolStripItem.GiveFeedback Event

定義

ドラッグ操作中に発生します。Occurs during a drag operation.

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

このメンバーの使用例を次のコード例に示します。The following code example demonstrates the use of this member. この例では、イベントハンドラーがGiveFeedbackイベントの発生を報告します。In the example, an event handler reports on the occurrence of the GiveFeedback event. このレポートは、イベントがいつ発生し、デバッグに役立つかを理解するのに役立ちます。This report helps you to learn when the event occurs and can assist you in debugging. 複数のイベントまたは頻繁に発生するイベントについてレポートMessageBox.ShowするConsole.WriteLineには、メッセージをに置き換えるTextBoxか、または複数行に追加することを検討してください。To report on multiple events or on events that occur frequently, consider replacing MessageBox.Show with Console.WriteLine or appending the message to a multiline TextBox.

コード例を実行するにToolStripItem ToolStripButtonは、やToolStripMenuItemなど、から継承された型のインスタンスを含むプロジェクトに貼り付けます。To run the example code, paste it into a project that contains an instance of a type that inherits from ToolStripItem, such as a ToolStripButton or ToolStripMenuItem. 次に、インスタンスToolStripItem1にという名前を付け、イベントハンドラーがGiveFeedbackイベントに関連付けられていることを確認します。Then name the instance ToolStripItem1 and ensure that the event handler is associated with the GiveFeedback event.

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は、ドラッグアンドドロップ操作が開始されたときに発生します。The GiveFeedback event is raised when a drag-and-drop operation is started. GiveFeedbackイベントを使用すると、ドラッグアンドドロップ操作中にユーザーに視覚的なフィードバックを提供するために、ドラッグイベントのソースでマウスポインターの外観を変更できます。The GiveFeedback event allows the source of a drag event to modify the appearance of the mouse pointer in order to give the user visual feedback during a drag-and-drop operation.

次の解説では、ドラッグアンドドロップ操作に関連するイベントを発生させる方法とタイミングについて説明します。The following remarks describe how and when events related to drag-and-drop operations are raised.

メソッドDoDragDropは、現在のカーソル位置の下の項目を決定します。The DoDragDrop method determines the item under the current cursor location. 次に、アイテムが有効なドロップ先であるかどうかを確認します。It then checks to see if the item is a valid drop target.

項目が有効なドロップ先である場合はGiveFeedback 、指定されたドラッグアンドドロップ効果を使用してイベントが発生します。If the item is a valid drop target, the GiveFeedback event is raised with the drag-and-drop effect specified. ドラッグ アンド ドロップ効果の一覧については、DragDropEffects 列挙体を参照してください。For a list of drag-and-drop effects, see the DragDropEffects enumeration.

マウスカーソルの位置、キーボードの状態、およびマウスボタンの状態の変更は、次の方法で追跡されます。Changes in the mouse cursor position, keyboard state, and mouse button state are tracked in the following manner:

  • ユーザーがウィンドウの外に移動した場合、DragLeave イベントが生成されます。If the user moves out of a window, the DragLeave event is raised.

  • マウスが別の項目に入ったDragEnter場合は、そのコントロールのが発生します。If the mouse enters another item, the DragEnter for that control is raised.

  • マウスを移動しても、同じ項目DragOver内にある場合は、イベントが発生します。If the mouse moves but stays within the same item, the DragOver event is raised.

キーボードまたはマウスボタンの状態が変化した場合、 QueryContinueDragイベントが発生し、ドラッグを継続するか、データを削除するか、またはイベントのAction QueryContinueDragEventArgsプロパティの値に基づいて操作をキャンセルするかが決定されます。If there is a change in the keyboard or mouse button state, the QueryContinueDrag event is raised and determines whether to continue the drag, to drop the data, or to cancel the operation based on the value of the Action property of the event's QueryContinueDragEventArgs.

の値がContinueDragAction場合、 DragOverこのイベントGiveFeedbackは操作を続行するために発生し、新しい効果を使用してイベントが発生し、適切な視覚的フィードバックを設定できるようにします。If the value of DragAction is Continue, the DragOver event is raised to continue the operation and the GiveFeedback event is raised with the new effect so appropriate visual feedback can be set. 有効なドロップ効果の一覧については、DragDropEffects 列挙体を参照してください。For a list of valid drop effects, see the DragDropEffects enumeration.

イベントDragOverGiveFeedbackイベントがペアになっているので、マウスがドロップ先に移動すると、次のように、マウスの位置に関する最新のフィードバックがユーザーに与えられます。The DragOver and GiveFeedback events are paired so that as the mouse moves across the drop target, the user is given the most up-to-date feedback on the mouse's position, as follows:

  • の値がDropDragAction場合、ドロップ効果の値がソースに返されます。そのため、ソースアプリケーションでは、ソースデータに対して適切な操作を実行できます。たとえば、操作が移動だった場合は、データを切り取ります。If the value of DragAction is Drop, the drop effect value is returned to the source, so the source application can perform the appropriate operation on the source data; for example, cut the data if the operation was a move.

  • の値がCancelDragAction場合、 DragLeaveイベントが発生します。If the value of DragAction is Cancel, the DragLeave event is raised.

適用対象