Fetstil Fetstil Kursiv Understrykning linje färgläggning tabellverk Punktlista Nummerlista Vänster Centrerat högerställt Utfyllt Länk Bild htmlmode
  • Forum & Blog
    • Forum - översikt
      • .Net
        • asp.net generellt
        • c#
        • vb.net
        • f#
        • silverlight
        • microsoft surface
        • visual studio .net
      • databaser
        • sql-server
        • databaser
        • access
        • mysql
      • mjukvara klient
        • datorer och komponenter
        • nätverk, lan/wan
        • operativsystem
        • programvaror
        • säkerhet, inställningar
        • windows server
        • allmänt
        • crystal reports
        • exchange/outlook
        • microsoft office
      • mjukvara server
        • active directory
        • biztalk
        • exchange
        • linux
        • sharepoint
        • webbservers
        • sql server
      • appar (win/mobil)
      • programspråk
        • c++
        • delphi
        • java
        • quick basic
        • visual basic
      • scripting
        • asp 3.0
        • flash actionscript
        • html css
        • javascript
        • php
        • regular expresssion
        • xml
      • spel och grafik
        • DirectX
        • Spel och grafik
      • ledning
        • Arkitektur
        • Systemutveckling
        • krav och test
        • projektledning
        • ledningsfrågor
      • vb-sektioner
        • activeX
        • windows api
        • elektronik
        • internet
        • komponenter
        • nätverk
        • operativsystem
      • övriga forum
        • arbete karriär
        • erbjuda uppdrag och tjänster
        • juridiska frågor
        • köp och sälj
        • matematik och fysik
        • intern information
        • skrivklåda
        • webb-operatörer
    • Posta inlägg i forumet
    • Chatta med andra
  • Konto
    • Medlemssida
    • Byta lösenord
    • Bli bonsumedlem
    • iMail
  • Material
    • Tips & tricks
    • Artiklar
    • Programarkiv
  • JOBB
  • Student
    • Studentlicenser
  • KONTAKT
    • Om pellesoft
    • Grundare
    • Kontakta oss
    • Annonsering
    • Partners
    • Felanmälan
  • Logga in

Hem / Forum översikt / inlägg

Posta nytt inlägg


Listbox - For each

Postades av 2002-12-04 11:24:11 - Alexander Zetterlund, i forum vb.net, Tråden har 6 Kommentarer och lästs av 951 personer

HEJ!

Har en idé om att man inte skall ha samma färg på alla rader i en Listbox.

En litet förslag som jag inte lyckas koda.

For Each 'Rad' in Listbox
om radnummer ojämn => rad.Forecolor=Vit
annars => rad.Forecolor=Grå
Next

Någon som vet hur man skriver en sådan grej?

/Alexander


Svara

Sv: Listbox - For each

Postades av 2002-12-04 11:38:28 - Per Hultqvist

Listbox:en stödjer inte olika bakgrundsfärger på raderna, så jag rekommenderar att du använder ListView:n i stället. Här följer lite exempelkod på hur du lägger upp rader och sätter upp den i rätt vy :

<code>
lst.Columns.Add("Namn", 100, HorizontalAlignment.Left)
lst.View = View.Details
lst.FullRowSelect = True
lst.Items.Add("Per Hultqvist1")
lst.Items.Add("Per Hultqvist2")
lst.Items.Add("Per Hultqvist3")
lst.Items.Add("Per Hultqvist4")
lst.Items.Add("Per Hultqvist5")
lst.Items.Add("Per Hultqvist6")

ColorListview()
</code>

Och sen själva funktionen som fixar färgerna (OBS byt färger, mitt färgval var inget vidare :-):

<code>
Private Sub ColorListview()
Dim li As ListViewItem
Dim i As Integer

For Each li In lst.Items
If i Mod 2 = 0 Then
li.BackColor = System.Drawing.Color.Gray
Else
li.BackColor = System.Drawing.Color.Yellow
End If
i += 1
Next
End Sub
</code>

/Per Hultqvist


Svara

Sv: Listbox - For each

Postades av 2002-12-04 11:48:17 - Andreas Hillqvist

<code></code>
Varför använda mode för detta? Har för mig att det är en väldigt resurskrävande operation i förhållande till AND som ger samma resultat?
<code>
Private Sub ColorListview()
Dim li As ListViewItem
Dim i As Integer

For Each li In lst.Items
If i And 1 Then
li.BackColor = System.Drawing.Color.Gray
Else
li.BackColor = System.Drawing.Color.Yellow
End If
i += 1
Next
End Sub
</code>
HAr inte vb tillgängligt. Mins inte heller hur syntaxet för binär And är i VB.Net. Har för mig att And blev enbart logisk i Beta 1. Men sedan ändrad i releasen.

Annars funkar det lika väl med en boolean. Slipper man problem med overflow:
<code>
Private Sub ColorListview()
Dim li As ListViewItem
Dim i As Boolean

For Each li In lst.Items
If i Then
li.BackColor = System.Drawing.Color.Gray
Else
li.BackColor = System.Drawing.Color.Yellow
End If
i = Not i
Next
End Sub
</code>


Svara

Sv: Listbox - For each

Postades av 2002-12-04 13:17:41 - Alexander Zetterlund

Tackar för hjälpen funkar helt OK!

Men jag tar väl en fråga till...
Kan man istället för ändra färg stoppa in en liten grafiksymbol innan texten börjar.
Olika symboler beroende på vad det är för text.


Svara

Sv: Listbox - For each

Postades av 2002-12-04 15:56:02 - Per Hultqvist

Visst kan du lägga till ikoner på raderna. Lägg ikonerna i en ImageList och koppla sen denna till SmallImageList-propertyn på ListView:n. Därefter sätter du ImageIndex-index propertyn på ListItem till det index som motsvarar den ikon du vill ha.

lst.SmallImageList=ImageList1

li.ImageIndex=0

/Per Hultqvist


Svara

Sv: Listbox - For each

Postades av 2002-12-04 16:08:15 - Per Hultqvist

Prestandan på Mod jämfört med And är i stort sett försumbar. På 100 miljoner iterationer var skillnaden ungefär 50 millisekunder, totaltiden låg på ca 300ms för And och lite mer för Mod på min maskin.

Hur som helst, boolean är snyggare i det här fallet, men Mod tekniken är mer generell efter som man kan ändra siffran 2 till 10 och så utförs if-satsen var 10:e gång. Därför använder jag den även i det här fallet. Jag orkar inte jaga millisekunder om det inte behövs.

Overflow på en Integer är inget jag oroar mig för i .Net när den används när man loopar igenom en ListView. ListView:n kommer att köra minnet i botten långt innan loopvariabeln slår bakut.

Dock : Jag bestrider absolut inte dina poänger...bara försvarar min kod :-)

/Per Hultqvist

Ps. Du har även rätt i att And var både logisk och bitwise i de allra första versionerna, sen testades BitAnd, BitOr o s v i en betaversion (eller RC) men de drogs tillbaka.


Svara

Sv: Listbox - For each

Postades av 2002-12-10 12:20:38 - Alexander Zetterlund

Tackar en gång till!

Funkar bra och jag fattar hur.


Svara

Nyligen

  • 09:09 Vill du köpa medicinska tester?
  • 12:47 Vem beviljar assistansen – kommune
  • 14:17 Någon med erfarenhet av hemstädnin
  • 14:14 Bör man använda sig av en båtförme
  • 14:12 Finns det någon intressant hundblo
  • 14:25 Tips på verktyg för att skapa QR-k
  • 14:23 Tips på verktyg för att skapa QR-k
  • 20:52 Fungerer innskuddsbonuser egentlig

Sidor

  • Hem
  • Bli bonusmedlem
  • Läs artiklar
  • Chatta med andra
  • Sök och erbjud jobb
  • Kontakta oss
  • Studentlicenser
  • Skriv en artikel

Statistik

Antal besökare:
Antal medlemmar:
Antal inlägg:
Online:
På chatten:
4 569 159
27 952
271 704
784
0

Kontakta oss

Frågor runt konsultation, rådgivning, uppdrag, rekrytering, annonsering och övriga ärenden. Ring: 0730-88 22 24 | pelle@pellesoft.se

© 1986-2013 PelleSoft AB. Last Build 4.1.7169.18070 (2019-08-18 10:02:21) 4.0.30319.42000
  • Om
  • Kontakta
  • Regler
  • Cookies