Ho set di immagini Web ospitate che ho bisogno del mio utente per poter selezionare 1 da ciascuna. Pensavo che un listbox avrebbe funzionato per questo, ma non riesco a capire di aggiungere un'immagine a uno. È possibile? modo migliore per farlo? Sto usando l'ultima versione gratuita vb.aggiungi immagini alla listbox (visual basic)
risposta
Impostare ListBox1.DrawMode
a DrawMode.OwnerDrawFixed
o DrawMode.OwnerDrawVariable
e aggiungere un gestore per disegnare le immagini.
Private Sub listBox1_DrawItem(ByVal sender As System.Object, ByVal e As System.Windows.Forms.DrawItemEventArgs) Handles ListBox1.DrawItem
Dim img As Image
img = sender.items(e.Index)
e.Graphics.DrawImage(img, targetsize)
End Sub
È possibile aggiungere le immagini alla raccolta di elementi della lista.
Dim img As Image
img = Image.FromFile("c:\tmp.jpg") ' or whatever
ListBox1.Items.Add(img)
...
Utilizzare il Listview control invece, fornisce una migliore funzionalità, e non soffre di un bug di ridimensionamento fastidioso. La casella di riepilogo viene trasferita da VB6 giorni. La listview supporta intestazioni di colonne, raggruppamenti e un po 'di più.
Aggiungere un controllo Imagelist al modulo, per memorizzare le immagini; imposta la proprietà ColorDepth su 32-bit e imposta la proprietà LargeImagelist di Listview sul controllo della lista immagini che hai appena aggiunto (tutto questo può essere fatto anche nel codice).
Aggiungere immagini al Imagelist tramite questo codice:
ImageList1.Images.Add("imagekey", Image.FromStream(yourimagestream))
aggiungere elementi alla Listview tramite questo codice:
ListView1.Items.Add("list item title", "imagekey")
Il "imagekey" è un modo per dire al Listview quale immagine uso. Puoi anche usare gli indici per le icone, ma specificare un indice che non esiste darà un indice fuori dall'eccezione, mentre una chiave che non esiste, semplicemente non userà alcuna immagine.
Oh, si desidera impostare anche la proprietà Listview Multiselect su False (se si desidera solo selezionarne una alla volta) e accedere agli eventi SelectedIndexChanged() e ItemActivate() per quando l'utente fa clic/doppio clic sugli articoli rispettivamente.
Sì, questo è possibile:
Dim imgList As New ImageList
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
ListView1.View = View.Details
ListView1.Width = 500
ListView1.Columns.Add("Gender", 75, HorizontalAlignment.Left)
ListView1.Columns.Add("Name", 100, HorizontalAlignment.Left)
ListView1.Columns.Add("Notes", 350, HorizontalAlignment.Left)
ListView1.AllowColumnReorder = True
ListView1.Columns(0).DisplayIndex = 1
imgList.Images.Add("Male", Image.FromFile("C:\Users\Joe\Pictures\Male-Symbol.jpg"))
imgList.Images.Add("Female", Image.FromFile("C:\Users\Joe\Pictures\Female-Symbol.jpg"))
ListView1.SmallImageList = imgList
End Sub
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Dim index As Integer
Select Case True
Case RadioButton1.Checked
index = 0
Case RadioButton2.Checked
index = 1
End Select
Dim lvi As New ListViewItem
lvi.ImageIndex = index
lvi.SubItems.Add(TextBox1.Text)
ListView1.Items.Add(lvi)
End Sub
Sembra funzionare, ma l'immagine è 16x16. Come possiamo ridimensionare l'immagine? : | –
- 1. visual basic e vb.net
- 2. Aggiunta di immagini all'elemento ListBox
- 3. Casting in visual basic?
- 4. Visual Basic Loop e visualizza una riga alla volta
- 5. Cosa significa + = in Visual Basic?
- 6. Bang vs Proprietà predefinita in Visual Basic
- 7. C# - Pulsante Aggiungi all'interno di ListBox
- 8. Esiste un decompilatore di Visual Basic 6?
- 9. Elenco di argomenti variabili con Visual Basic?
- 10. Margini in Visual Basic Editor Excel 2016
- 11. Dimensioni dello schermo in Visual Basic
- 12. Arrotondare un numero in Visual Basic
- 13. macro di Visual Basic in Word per Ridimensiona/Centro/Cancella tutte le immagini
- 14. Visual Studio: Aggiungi elemento/Aggiungi come collegamento anziché solo Aggiungi
- 15. Windows Phone 7 Animazione ListBox alla selezione
- 16. jquery aggiungi alla finestra
- 17. Aggiungi alla variabile stringa
- 18. Sintassi dell'operatore punto Visual Basic - nessun nome oggetto
- 19. WP7 - Animazione aggiungi/rimuovi elemento in un ListBox
- 20. Disattivazione del compilatore di sfondo Visual Basic in Visual Studio 2008
- 21. Perché alcuni linguaggi Microsoft sono definiti "visivi"? (Visual C#, Visual Basic .NET, Visual C++)
- 22. Aggiungi svg alla pagina web?
- 23. Aggiungi immagine alla visualizzazione avvisi
- 24. Aggiungi immagine alla cella TableView
- 25. matplotlib: aggiungi cerchio alla trama
- 26. Aggiungi alla cronologia vs Login
- 27. Aggiungi barra rovesciata alla stringa
- 28. Aggiungi alla lista vs. Incremento
- 29. Aggiungi contenuto alla libreria musicale
- 30. Aggiungi giorni alla data corrente
Come si fa ad aggiungere elementi a una visualizzazione elenco, in cui v'è solo una colonna che occupa l'intera larghezza della ListView e un elemento per riga? ogni volta che lo faccio, aggiunge più elementi per riga .... – wakurth
Più elementi per riga, suona come più colonne che hai lì. Controlla di aggiungere alla matrice articoli e non alle colonne. – invert