Domanda

Nel mio progetto VB.net ho creato un cursore personalizzato (Window.cur). Come posso assegnarlo al cursore senza dover utilizzare il percorso completo del file per quel file?

VB.Net ha My.Resources ma non mostra i cursori incorporati nel progetto.

Ho trovato un esempio che utilizzava il codice in questo modo: Nuovo cursore (Reflection.Assembly.GetExecutingAssembly.GetManifestResourceStream (" Window.cur ") ma che non funziona.

È stato utile?

Soluzione

Indovinare il nome della risorsa può essere difficile. Per scoprirlo, esegui Ildasm.exe sul tuo programma. Fai doppio clic su " Manifest " e cerca la .mresource.

Un altro modo per farlo che evita di indovinare: Progetto + Proprietà, scheda Risorse. Fai clic sulla freccia in " Aggiungi risorsa " , Aggiungi file esistente e seleziona il tuo file .cur. Rendi il tuo codice simile al seguente:

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

Altri suggerimenti

Grazie per l'aiuto! Ho pensato che se avessi creato la risorsa nell'IDE di Visual Studio, l'avrebbe aggiunta al mio progetto. Sciocco me!

Ho dovuto andare alla scheda Progetto per aggiungere il file Window.Cur usando Aggiungi risorsa (grazie nobugz!) e quindi usare il codice che ha menzionato:

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

Button.Cursor = New Cursor(ms)

Vorrei votare la risposta se potessi, ma non posso perché al momento ho solo un valore di 13.

Supponi di assegnare " Cursor1.cur " essere il cursore per il controllo " Button1. "

Nel tuo evento Form.Load faresti qualcosa del tipo -

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

non devi usare cursori di colore a 32 bit.

Ti manca lo spazio dei nomi. Probabilmente vuoi usare:

MyNamespace.MySubfolder.Window.cur

MODIFICA: assicurati inoltre che la tua azione di compilazione per l'articolo sia "Risorse incorporate", altrimenti non verrà inclusa nella tua dll / exe.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top