Diskuze: Jak přidat obrázek do listboxu ve Visual Basic?
V předchozím kvízu, Test znalostí C# .NET online, jsme si ověřili nabyté zkušenosti z kurzu.

					Člen				
			
Zobrazeno 12 zpráv z 12.
//= Settings::TRACKING_CODE_B ?> //= Settings::TRACKING_CODE ?>
V předchozím kvízu, Test znalostí C# .NET online, jsme si ověřili nabyté zkušenosti z kurzu.


listbox túto možnosť nemá, má ju listview,
no ja by som k tomu skôr použil datagridview
Děkuji za odpověď, neexistuje nějaká alternativa? Např. změnit pozadí itemu? Default modře 1. klik na zelenou, 2. klik na červenou. Potřeboval bych něco, čím bych si označil splněné, nesplněné a rozdělané úkoly.
Jestli to děláš ve winforms, tak tam moc možností není, na to je lepší wpf
použi ten datagridview, do jedného stĺpca vlož text úlohy, do druhého nevkladaj nič, len mu v kóde zmeň farbu pozadia, kliknutím na ten stĺpec zmeň znova farbu na akú chceš, prípadne mu daj contect menu strip
nemám k dispozícii visual studio, tak ti nedám presný kód, tak to ber s rezervou
private sub LoadDataGridView()
        dgv.rowcount += 1
        dgv.rows(dgv.rowcount-1).cells(0).value = "Uloha 1"
        dgv.rows(dgv.rowocunt-1).cells(1).style.backcolor = color.red
end sub
Private Sub dgv_CellClick(sender As Object, e As EventArgs) Handles dgv.CellClick
        if e.columnindex = 1 then
                if e.backcolor = color.red then
                        e.backcolor = color.blue
                elseif e.backcolor = color.blue then
                        e.backcolor = color.green
                elseif e.backcolor = color.green
                        e.backcolor = color.red
                end if
        end if
End Subpísal som to z hlavy, tak tam budú chyby,
skús a uvidíš či ti to vyhovuje,
datagridview má obrovské množstvo vlastností, čiže dokážes s ním
dosiahnúť čokoľvek
Ahoj, děkuji za odpověď, Upravil jsem to takto:
Private Sub LoadDataListBox()
      ListBox1.rowcount += 1
      ListBox1.rows(ListBox1.rowcount - 1).cells(0).value = "Uloha 1"
      ListBox1.rows(ListBox1.rowocunt - 1).cells(1).style.backcolor = Color.Red
  End Sub
  Private Sub ListBox1_Click(sender As Object, e As EventArgs) Handles ListBox1.Click
      If e.columnindex = 1 Then
          If e.backcolor = Color.Red Then
              e.backcolor = Color.Blue
          ElseIf e.backcolor = Color.Blue Then
              e.backcolor = Color.Green
          ElseIf e.backcolor = Color.Green Then
              e.backcolor = Color.Red
          End If
      End If
  End SubVyskytující se chyby:
'columnindex' is not a member of System.EventsArgs
'backcolor' is not a member of System.EventsArgs
'rowcount' is not a member of System.Windows.Forms.ListBox
'row' is not a member of System.Windows.Forms.ListBox
Ten dataview nenavazuje na moje funkce, kouknu na to o víkendu. To bude chtít začít celý program znova.
jasné že ti to hádže chyby, pretože listbox nemá tieto možnosti, jasne
som napísal datagridview 
pozri si to, nemáš s tým čo pokaziť
ešte teraz keď pozerám neviem či bude fungovať
e.backcolor = color...možno to budeš musieť vymeniť za
datagridview.rows(číslo riadku).cells(číslo stĺpca).style.backcolor = color...Pokud je to pro WinForms a chtel by si pouzit ListView, tak tady mam priklad
jak vyplnit ListView s pridanim obrazku do kazdeho radku a prvniho sloupce pred
text .
Je nutno na form pridat ListView nastavenim Name = lstOverview a View =
Details
Je to sice jen ukazka jak zhruba na to, ale mohla by se hodit ... 
Pozor v kodu Do Loop nema podminku ukonceni!To si musis nejak osetrit sam...
Private Sub FillListView()
    'Vymazani vsech sloupcu
    lstOverview.Columns.Clear()
    'Vymazani vsech radku v ListView
    lstOverview.Items.Clear()
    lstOverview.Columns.Add("HeaderText1") 'Pridani sloupce do ListView
    '... Popripade pridani dalsich sloupcu do ListView
    lstOverview.Columns.Add("HeaderText2")
    lstOverview.Columns.Add("HeaderText3")
    ' Vytvoreni imagelistu
    Dim meImageStatusList As New ImageList()
    ' Cesta k souborum s obrazky
    Dim path As String = "C:\x\...."
    'Nahreani obrazku do ImageListu
    meImageStatusList.Images.Add(Bitmap.FromFile(path & "Picture1.png"))
    meImageStatusList.Images.Add(Bitmap.FromFile(path & "Picture2.png"))
    '.........
    'ImageList do  ListView.SmallImageList
    lstOverview.SmallImageList = meImageStatusList
    'Vyplneni radku ListView
    Do
        '......
        ' Cislo Obrazku ktery se ma zobrazit
        Dim imageIndex As Integer = 1
        'Pridani noveho radku s textm "Text" do ListView + vypneni indexu obrazku ktery se ma zobrazit
        Dim lsi = lstOverview.Items.Add("Text", imageIndex)
        'Popripade pridani dalsich subitems
        lsi.SubItems.Add("SubItem1Text")
        lsi.SubItems.Add("SubItem2Text")
        '....
    Loop
End SubŘíkáš, že jsi začátečník. Být tebou přejdu místo zastaralého WinForms na moderní WPF, než bude pozdě se přeučovat. Opravdu to za to stojí, ze začátku si možná budeš říkat, že ne, ale až se dostaneš na věci jako právě třeba tohle oceníš to.
Ano doporucuji take prejit na WPF.Sice WinForm je asi trochu jednodusi, ale budes se zbytecne ucit neco co nema budoucnost....
Zobrazeno 12 zpráv z 12.
 
				
