mikrocontroller.net

Forum: PC-Programmierung C# - LISTVIEW


Autor: Sven H. (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Das LISTVIEW in C# macht mir große Probleme.

Hier ein Beispiel wie ich die Funktion NewCanFrame_transmit verwende:

private void button1_Click(object sender, System.EventArgs e)
    {
     NewCanFrame_transmit(111, 5, "CC");
    }

private void button2_Click_1(object sender, System.EventArgs e)
    {
     NewCanFrame_transmit(111, 3, "AA");
    }

Das Feld wo die Daten stehen, wird hier nicht verändert.
Der Counter wird aber immer um eins hochgezählt.
Ich möchte es aber so haben, das wenn ich das hier wie oben ausführe,
dann soll auch die Daten und die Länge aktualisiert werden.
Erst wenn eine neue ID kommt, dann soll eine neue zeile im ListView
erscheinen.

Mir scheint es echt so das in Visual Studio das ganze komplizierter
verpackt ist, als z.B. beim Borland Builder. Unter Borland Builder
habe
ich das StringGrid verwendet, da wars einfacher...
Fakt ist ich muss die "NewCanFrame_recieve" Funktion abändern.

...ich gehe nochmal näher darauf ein wie ich es genau meine:

Zuerst füre ich die Funktion so aus:
NewCanFrame_transmit(111, 5, "CC");
Erscheinen tut folgendes: Message:111,Length:5,Data:CC,Count:1


Als nächstes für ich die Funktion dann so aus:
NewCanFrame_transmit(111, 3, "AA");
Erscheinen tut folgendes: Message:111,Length:5,Data:CC,Count:2

Beim zweiten verändert sich in meiner ListView nur der Counter.
Wie müsste ich meine Funktion anpassen, dass ich die veränderungen
sehen kann?

Autor: Sven H. (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Vielleicht habe ich mich noch nicht klar genug ausgedrückt!

Autor: Sven H. (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Schade das sich hier niemand so gut mit der LISTVIEW auskennt.
Ich komme echt nicht weiter....

Autor: Johnny (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Also normalerweise sind die Dinge mit dem Visual Studio und C# nicht
komplizierter zu lösen als mit den Borland Tools.

Also mir ist mal was aufgefallen, dass gar nicht gut ist:
if (listView1.Items[i].Text == message.ToString("x"))

Strings sind in C# referenztypen. Du vergleichst da also nicht die
Strings, sondern deren Referenzen miteinander.

Richtig müsste dies so sein:
if (String.Compare(listView1.Items[i].Text, message.ToString("x") !=
0)

Autor: Johnny (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Sorry, kleiner Fehlerteufel.
Bei String.Compare kommt 0 raus wenn die strings gleich sind.

Also für Dein Programm:
if (String.Compare(listView1.Items[i].Text, message.ToString("x") ==
0)

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.