2017-12-22 138 views
0

이 문제에 대한 리소스를 찾고 있지만 원하는 것을 찾을 수 없습니다. WPF에서 사용자를 위해 화면에 마우스 커서가있는 터치 스크린을 사용하는 C# 응용 프로그램이 있습니다. 문제는이 마우스 커서를 숨기고 싶지만 백엔드에서 프로그램을 실행할 때 응용 프로그램에 마우스 커서가 표시되어야합니다.C# - 프로그램에서 마우스 커서 숨기기

어디서부터 시작해야 할 좋은 제안이 있습니까?

+0

Windows Forms, WPF 또는 다른 화면 프레임 워크를 사용합니까? –

+0

WPF 응용 프로그램 –

답변

2

그것은 매우 간단합니다 : 물론

if(runningAsClient) 
    Cursor.Hide(); 

당신은 처리기 지시문 같은 당신이 실행중인 시스템을 결정하는 기술이 필요합니다. 이것을 메인 메서드에 넣고 클라이언트 프로젝트 구성에서 지시문을 설정할 수 있습니다.

public static class Program 
{ 
    public static void Main(String[] args) 
    { 
     Boolean backend = args.Contains("-b"); 

     // ... 

     MyApp app = new MyApp(backend); 
     app.Run(); 
    } 
} 

public partial class MyApp : Application 
{ 
    public MyApp(Boolean backend) 
    { 
     InitializeComponent(); 

     if (backend) 
      Cursor = Cursors.None; 
    } 
} 

사람 : 당신이 WPF를 사용하는 경우

#if CLIENT 
    Cursor.Hide(); 

, 당신은 내가 당신이 이것을 달성하기 위해 명령 줄 인수를 사용하는 것이 좋습니다

Cursor = Cursors.None; 
+0

실제 사용자가 사용할 수 있도록 시스템이 온라인이면 커서가 숨겨져 있어야합니다. 예를 들어 프로그램을 향상 시키거나 버그를 수정하기 위해 프로그램을 실행하는 것이 오프라인 인 경우, 숨겨서는 안됩니다. –

+0

그런 다음 디버그가 아닌 적절한 프로젝트 구성 (예 : 백엔드 출시)에서 'BACKEND'만 설정하십시오. 이것이 구성이 존재하는 이유입니다. – Loris156

+0

기본적으로 Backend에서 커서를 숨겨야합니까? –

0

에 윈도우의 Cursor 속성을 설정해야 앱을 '백엔드'로 시작하려면 다음 명령을 사용하십시오.

MyProgram.exe -b 

및 마우스 커서가 숨겨집니다.

+0

귀하의 제안에 감사하지만 애플리케이션이 실제로 터치 스크린 시스템에서 실행됩니다. –