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 。 此報告可協助您瞭解事件發生的時間,並可協助您進行偵錯。 若要報告多個事件或經常發生的事件,請考慮將 取代 MessageBox.ShowConsole.WriteLine 為 或將訊息附加至多行 TextBox

若要執行範例程式碼,請將它貼到包含繼承自 ToolStripItem 之型別實例的專案,例如 ToolStripButtonToolStripMenuItem 。 然後命名 實例 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 引發事件,並判斷是否要繼續拖曳、卸載資料,或根據 Action 事件的 QueryContinueDragEventArgs 屬性值取消作業。

如果 的值 DragAction 是 ,則會 DragOver 引發 事件以繼續作業,並且 GiveFeedback 以新的效果引發事件,因此可以設定 Continue 適當的視覺回饋。 如需有效置放效果的清單,請參閱 DragDropEffects 列舉型別。

DragOverGiveFeedback 事件會配對,如此一來,當滑鼠在置放目標之間移動時,使用者就會在滑鼠位置上獲得最新的意見反應,如下所示:

  • 如果 的值 DragActionDrop ,則卸載效果值會傳回至來源,因此來源應用程式可以在來源資料上執行適當的作業;例如,如果作業是移動,請剪下資料。

  • 如果 的值 DragActionCancel ,就會 DragLeave 引發 事件。

適用於