양식 요소 (예 : 단추) 위로 마우스를 가져갈 때 마우스 커서를 숨길 수있는 PowerShell의 메서드가 있습니까? 또는 전체 양식에서 커서를 숨길 수도 있습니다. 중요한 것은 현재 마우스 커서가 활성화되어 있지 않아야한다는 것입니다. (설명. 즉, 커서가 숨겨져있을 때 양식에있는 버튼을 클릭하지 않습니다. 즉, 양식에 커서가 완전히없는 것입니다.)
이 같은:
$Button.CursorVisible = $False
C # ( https://docs.microsoft.com/en-us/dotnet/api/system.windows.forms.cursor.hide?view=netframework-4.8 코드 여기) 에서 솔루션을 찾았 지만 PowerShell의 아날로그. 감사합니다
"지금은 마우스 커서가 활성화되지 않아야합니다." 라는 말이 무슨 뜻인지 모르겠습니다 . , 따라서 특정 폼 컨트롤 위로 이동할 때 마우스 커서를 숨기고 표시하는 데만 집중하겠습니다.
다음과 같이 컨트롤에 MouseEnter 및 MouseLeave 이벤트 처리기 함수를 선언하여이를 수행 할 수 있어야합니다.
$control.Add_MouseEnter( {
[System.Windows.Forms.Cursor]::Hide()
})
$control.Add_MouseLeave( {
[System.Windows.Forms.Cursor]::Show()
})
편집 귀하의 의견 덕분에 이제 커서의 의미를 이해했습니다 active
.
숨겨진 커서가 폼 자체의 컨트롤을 클릭 할 수 없도록하려면 컨트롤의 Click 이벤트 처리기 내부에 확인을 추가합니다. 이 같은:
$control.Add_Click({
# the [Cursor.Current] property returns null if the mouse cursor is not visible
# see: https://docs.microsoft.com/en-us/dotnet/api/system.windows.forms.cursor.current?redirectedfrom=MSDN&view=netframework-4.8#System_Windows_Forms_Cursor_Current
if (![System.Windows.Forms.Cursor]::Current) { return $false }
})
이를 수행하는 또 다른 방법은 컨트롤 위로 마우스를 가져갈 때 마우스 커서를 숨기거나 표시하는 것뿐만 아니라 동시에 컨트롤을 활성화하거나 비활성화하는 것입니다. 이것은 물론 컨트롤의 모양이 변경되는 부작용이 있습니다.
$control.Add_MouseEnter( {
[System.Windows.Forms.Cursor]::Hide()
$this.Enabled = $false
})
$control.Add_MouseLeave( {
[System.Windows.Forms.Cursor]::Show()
$this.Enabled = $true
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다