나는이 작업에 시간을 썼으며 거의 사용했습니다. 그러나, 내가 앓고있는 하나의 최종 문제가 있으며, 그것은 내 피부 아래에 들어가기 시작하고있다. 내 사용자 정의 커서를 내 응용 프로그램에 포함시킬 수 없습니다.C# 사용자 정의 커서 포함
현재 솔루션 탐색기에있는 사용자 지정 커서로 커서를 변경하는 방법은 다음과 같습니다. 그것은 "MyCursor.cur"입니다, 그것은 임베디드 리소스이고 Copy to Output Directory를 Copy new로 설정했습니다.
public static Cursor ActuallyLoadCursor(String path)
{
return new Cursor(LoadCursorFromFile(path));
}
[System.Runtime.InteropServices.DllImport("user32.dll")]
private static extern IntPtr LoadCursorFromFile(string fileName);
내 폼의 생성자 :
Cursor = ActuallyLoadCursor("MyCursor.cur");
이 커서를로드하고 그것을 사용하는 나를 위해 일했다 유일한 일이 내가 커서를 설정하는 데 사용하고 코드입니다 내 신청서에. 그러나 이것은 프로그램과 동일한 폴더에 커서를 복사합니다. 나는 운이없는 몇 시간 동안 온라인을 수색했다. 수천 줄의 불필요한 코드없이 복사 할 수있는 방법이 있습니까?
여기에 나를 위해 실패한 나는 시도 다른 솔루션입니다 :
이미지 형식이 유효하지 않습니다에
using (MemoryStream ms = new MemoryStream(Properties.Resources.MyCursor)) { Cursor = new Cursor(ms); } Cursor = new Cursor(Assembly.GetExecutingAssembly().GetManifestResourceStream("My_Namespace.MyCursor.cur"));
이러한 결과. 이미지 파일이 손상되었을 수 있습니다. 매개 변수 이름 : 스트림
위와 같은 오류가 발생합니다. 그것은 1 비트 커서가 아니며 Visual Studio에서 커서 편집기로 생성되지 않았습니다. 어떻게해야합니까? – Dragonphase
@Dragonphase 방금 내 대답을 편집했습니다. 색상 커서가 있으면 'Cursor'클래스를 사용할 수 없습니다. API를 사용해야합니다. – xxbbcc
어느 쪽이든, 나는 커서 편집기를 사용하는 방법을 모른다. 내가 사용할 수있는 유일한 것은 돋보기 다. - NVM, 컨트롤은 숨겨졌습니다. – Dragonphase