GiveFeedbackEventArgs.UseDefaultCursors 속성
정의
중요
일부 정보는 릴리스되기 전에 상당 부분 수정될 수 있는 시험판 제품과 관련이 있습니다. Microsoft는 여기에 제공된 정보에 대해 어떠한 명시적이거나 묵시적인 보증도 하지 않습니다.
끌기 작업에서 끌어서 놓기 효과와 연결된 기본 커서를 사용해야 하는지 여부를 가져오거나 설정합니다.
public:
property bool UseDefaultCursors { bool get(); void set(bool value); };
public bool UseDefaultCursors { get; set; }
member this.UseDefaultCursors : bool with get, set
Public Property UseDefaultCursors As Boolean
속성 값
기본 포인터가 사용되는지 true
. 그렇지 않으면 false
.
예제
다음 예제에서는 두 ListBox 컨트롤 간의 끌어서 놓기 작업을 보여 줍니다. 이 예제에서는 끌기 작업이 시작될 때 DoDragDrop 메서드를 호출합니다. 마우스가 MouseDown 이벤트 중에 마우스 위치에서 SystemInformation.DragSize 이상 이동한 경우 끌기 작업이 시작됩니다.
IndexFromPoint 메서드는 MouseDown
이벤트 중에 끌 항목의 인덱스 확인에 사용됩니다.
또한 이 예제에서는 끌어서 놓기 작업에 사용자 지정 커서를 사용하는 방법을 보여 줍니다. 이 예제에서는 3dwarro.cur
및 3dwno.cur
두 개의 커서 파일이 각각 사용자 지정 끌어서 놓기 커서에 대해 애플리케이션 디렉터리에 있다고 가정합니다.
UseCustomCursorsCheck
CheckBox 선택하면 사용자 지정 커서가 사용됩니다. 사용자 지정 커서는 GiveFeedback 이벤트 처리기에 설정됩니다.
키보드 상태는 오른쪽 ListBox
대한 DragOver 이벤트 처리기에서 평가되어 Shift, Ctrl, Alt 또는 Ctrl+Alt 키의 상태에 따라 끌기 작업을 결정합니다. 드롭이 발생하는 ListBox
위치도 DragOver
이벤트 중에 결정됩니다. 삭제할 데이터가 String
아닌 경우 DragEventArgs.EffectDragDropEffects.None. 마지막으로 드롭 상태가 DropLocationLabel
Label표시됩니다.
오른쪽 ListBox
대해 삭제할 데이터는 DragDrop 이벤트 처리기에서 결정되며 String
값은 ListBox
적절한 위치에 추가됩니다. 끌기 작업이 폼의 범위 밖으로 이동하면 QueryContinueDrag 이벤트 처리기에서 끌어서 놓기 작업이 취소됩니다.
이 코드 발췌에서는 GiveFeedbackEventArgs 클래스를 사용하는 방법을 보여 줍니다. 전체 코드 예제는 DoDragDrop 메서드를 참조하세요.
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;
}
}
private void ListDragSource_GiveFeedback(object sender, 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;
}
}
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
설명
시스템은 이동 또는 복사와 같은 다양한 끌어서 놓기 작업에 대한 기본 끌어서 놓기 커서를 제공합니다.
UseDefaultCursors
false
설정된 경우 적절한 커서를 설정하는 것은 이벤트 원본의 책임입니다.
적용 대상
.NET