GiveFeedbackEventArgs.UseDefaultCursors プロパティ
ドラッグ操作において、ドラッグ アンド ドロップ効果に関連付けられている既定のカーソルを使用するかどうかを取得または設定します。
Public Property UseDefaultCursors As Boolean
[C#]
public bool UseDefaultCursors {get; set;}
[C++]
public: __property bool get_UseDefaultCursors();public: __property void set_UseDefaultCursors(bool);
[JScript]
public function get UseDefaultCursors() : Boolean;public function set UseDefaultCursors(Boolean);
プロパティ値
既定のポインタが使用される場合は、 true 。それ以外の場合は、 false 。
解説
移動、コピーなどのさまざまなドラッグ アンド ドロップ操作に対して、既定のドラッグ アンド ドロップ カーソルが用意されています。 UseDefaultCursors が false に設定されている場合は、イベント ソースが適切なカーソルを設定します。
使用例
[Visual Basic, C#, C++] 2 つの ListBox コントロールの間でドラッグ アンド ドロップ操作を実行する例を次に示します。この例では、ドラッグ アクションが開始したときに DoDragDrop メソッドが呼び出されます。ドラッグ操作は、 MouseDown イベント実行中のマウス位置から SystemInformation.DragSize を超えてマウスが移動したときに開始されます。 IndexFromPoint メソッドは、 MouseDown イベントで、ドラッグする項目のインデックスを判別するために使用します。
[Visual Basic, C#, C++] この例では、ドラッグ アンド ドロップ操作でカスタム カーソルを使用する方法についても示します。この例では、2 つのカーソル ファイル (3dwarro.cur
と 3dwno.cur
) がアプリケーション ディレクトリ内に存在していることを想定しています。なお、それぞれのファイルはドラッグ用のカスタム カーソルとドロップなしのカスタム カーソルを表します。カスタム カーソルは、 UseCustomCursorsCheck
CheckBox がオンになっている場合に使用されます。カスタム カーソルは、 GiveFeedback イベント ハンドラで設定されます。
[Visual Basic, C#, C++] キーボードの状態は、右側の ListBox の DragOver イベント ハンドラで評価されます。ドラッグ操作の内容は、Shift キー、Ctrl キー、Alt キー、または Ctrl + Alt キーの状態によって決まります。ドロップが発生する ListBox 内の位置は、 DragOver イベント時にも判定されます。ドロップするデータが String でない場合は、 DragEventArgs.Effect が DragDropEffects.None に設定されます。最後に、ドロップのステータスが DropLocationLabel
Label に表示されます。
[Visual Basic, C#, C++] 右側の ListBox にドロップするデータは、 DragDrop イベント ハンドラで判定されます。また、 String 値が ListBox の該当する場所に追加されます。ドラッグ操作がフォームの範囲を超えて移動した場合、ドラッグ アンド ドロップ操作は QueryContinueDrag イベント ハンドラでキャンセルされます。
[Visual Basic, C#, C++] GiveFeedbackEventArgs クラスの使用方法を次のコード例に示します。コード例全体については、 DoDragDrop メソッドのトピックを参照してください。
Private Sub ListDragSource_GiveFeedback(ByVal sender As Object, ByVal e As GiveFeedbackEventArgs) Handles ListDragSource.GiveFeedback
' Use custom cursors if the check box is checked.
If (UseCustomCursorsCheck.Checked) Then
' Set the custom cursor based upon the effect.
e.UseDefaultCursors = False
If ((e.Effect And DragDropEffects.Move) = DragDropEffects.Move) Then
Cursor.Current = MyNormalCursor
Else
Cursor.Current = MyNoDropCursor
End If
End If
End Sub
[C#]
private void ListDragSource_GiveFeedback(object sender, System.Windows.Forms.GiveFeedbackEventArgs e)
{
// Use custom cursors if the check box is checked.
if (UseCustomCursorsCheck.Checked) {
// Sets the custom cursor based upon the effect.
e.UseDefaultCursors = false;
if ((e.Effect & DragDropEffects.Move) == DragDropEffects.Move)
Cursor.Current = MyNormalCursor;
else
Cursor.Current = MyNoDropCursor;
}
}
[C++]
private:
void ListDragSource_GiveFeedback(Object* /*sender*/,
System::Windows::Forms::GiveFeedbackEventArgs* e) {
// Use custom cursors if the check box is checked.
if (UseCustomCursorsCheck->Checked) {
// Sets the custom cursor based upon the effect.
e->UseDefaultCursors = false;
if ((e->Effect & DragDropEffects::Move) == DragDropEffects::Move)
Cursor::Current = MyNormalCursor;
else
Cursor::Current = MyNoDropCursor;
}
}
[JScript] JScript のサンプルはありません。Visual Basic、C#、および C++ のサンプルを表示するには、このページの左上隅にある言語のフィルタ ボタン をクリックします。
必要条件
プラットフォーム: Windows 98, Windows NT 4.0, Windows Millennium Edition, Windows 2000, Windows XP Home Edition, Windows XP Professional, Windows Server 2003 ファミリ
参照
GiveFeedbackEventArgs クラス | GiveFeedbackEventArgs メンバ | System.Windows.Forms 名前空間