2009-01-11 38 views
6

在我的VB.net項目中,我創建了一個自定義光標(Window.cur)。我如何將它分配給光標而不必使用該文件的完整文件路徑?從資源文件中設置自定義光標

VB.Net具有My.Resources但它不顯示嵌入項目中的遊標。

我發現,像這樣使用代碼的例子:。 新的光標(Reflection.Assembly.GetExecutingAssembly.GetManifestResourceStream(「Window.cur」),但不工作

回答

8

猜測的資源名稱是很困難的。爲了找到答案,請在程序上運行Ildasm.exe。雙擊「Manifest」並查找.mresource。

另一種避免猜測的方法:Project + Properties,Resource選項卡。點擊「添加資源」按鈕上的箭頭,添加現有文件並選擇您的.cur文件。使您的代碼如下所示:

Dim ms As New System.IO.MemoryStream(My.Resources.Cursor1) 
Button1.Cursor = New Cursor(ms) 
0

你缺少的命名空間你可能要使用:

MyNamespace.MySubfolder.Window.cur 

編輯:此外,確保了被「嵌入的資源」的項目的生成操作,否則也不會被包括在您的DLL/EXE

+0

ocdecio:你能更具體嗎?我嘗試了所有你能提及的變化。 VB.Net沒有我能看到的MyNamespace(當然我可能是錯的)。 – KerryF 2009-01-11 15:29:26

0

假設你正在分配「 Cursor1.cur「爲c ursor的控制。「Button1的」

在你Form.Load情況下,你會做這樣的事情 -

Button1.Cursor = New Cursor(Me.GetType(), "Cursor1.cur") 
1

感謝您的幫助!我認爲如果我在Visual Studio IDE中創建資源,它會將其添加到我的項目中。傻我!

我不得不去項目選項卡使用添加資源(感謝nobugz!),然後用他提到的代碼添加Window.Cur文件:

Dim ms As New System.IO.MemoryStream(My.Resources.Window) 

Button.Cursor = New Cursor(ms) 

我會投了對答案,如果我可以,但我不能,因爲我目前的價值只有13。

0

您不能使用32位顏色遊標。

相關問題