2014-02-24 49 views
0

我想讓遊標不可見(只想隱藏一個窗體上的光標,所以Cursor.Hide不是一個選項),我試圖設置窗體的方法。使用具有透明背景且沒有內容的圖標生成的遊標光標,但它不起作用。C#Form.Cursor設置不接受透明遊標

我假設有一些設置光標像最小像素數或最小尺寸的要求,但我找不到它們,如果有的話。

我的代碼:

form.Cursor = new Cursor((new Icon("fake.ico")).Handle); 

fake.ico是什麼,但在一個透明背景的一個1x1的圖標文件

如何使一個窗體上的光標不可見或將光標設置。一個透明的ico?

+0

項目+添加新項目,光標文件。 –

回答

0

顯然使用ICO文件句柄的工作方式不同,從資源加載它,我通過創建一個新的光標( - >添加新項 - 項目>光標)固定我的問題,然後設置我的光標,像這樣:

using (System.IO.Stream stream = Assembly.GetExecutingAssembly().GetManifestResourceStream("Namespace.Cursor.cur")) 
{ 
    form.Cursor = new Cursor(stream); 
} 

其中的名稱空間是您當前的命名空間和光標是我做了透明光標文件的名稱。

0
 // The following generates a cursor from an embedded resource. 

     // To add a custom cursor, create a bitmap 
     //  1. Add a new cursor file to your project: 
     //    Project->Add New Item->General->Cursor File 

     // --- To make the custom cursor an embedded resource --- 

     // In Visual Studio: 
     //  1. Select the cursor file in the Solution Explorer 
     //  2. Choose View->Properties. 
     //  3. In the properties window switch "Build Action" to "Embedded Resources" 

這從MSDN使用該採取設置在系統的新光標,然後把它放在表格。 後來繼續爲你嘗試過:

this.Cursor = new Cursor(GetType(), "[you'r cursor name]"); 
+0

是的,我做了我自己的光標文件,它只是不接受它由於某種原因(如果我改變它爲一個非透明的工作正常)。 – user1763295

+0

所以基本上當你把它改變成一個不透明的你使用相同格式的圖片? – knightsb