Register for your free account! | Forgot your password?

You last visited: Today at 01:04

  • Please register to post and access all features, it's quick, easy and FREE!

Advertisement



[C#]listView

Discussion on [C#]listView within the .NET Languages forum part of the Coders Den category.

Reply
 
Old   #1
 
elite*gold: 35
Join Date: Jun 2009
Posts: 2,187
Received Thanks: 6,906
[C#]listView

Hey Leute, wie der Titel schon sagt brauche ich Hilfe beim listView in C#.

Mein Problem ist folgendes:

Ich will einen Password Manager machen, und das Passwort usw. über eine andere Form in die listView von Form1 einfügen.

Das funktioniert soweit auch, jedoch wenn ich nun ein zweites einfüge, dann wird die erste Zeile geändert, da ich das gleiche item noch mals einfüge nur mit anderem Text oder so.

Hier ist mal der Source:

Code:
            Form1 frm1 = new Form1();
            ListViewItem [COLOR="Red"]item [/COLOR]= new ListViewItem(textBox3.Text, frm1.listView1.Items.Count + 1);
            [COLOR="Red"]item[/COLOR].SubItems.Add(textBox1.Text);
            [COLOR="Red"]item[/COLOR].SubItems.Add(textBox2.Text);
            frm1.listView1.Items.Add([COLOR="Red"]item[/COLOR]);
            frm1.Show();
            this.Close();
Das rot Markierte ist mein Problem.
Ich will, dass der Name von dem item immer die aktuelle anzahl der Zeilen von der listView + 1.
Beispiel:
Bei der ersten Spalte sieht das wie folgt aus:

Code:
            Form1 frm1 = new Form1();
            ListViewItem [COLOR="Red"]item0 [/COLOR]= new ListViewItem(textBox3.Text, frm1.listView1.Items.Count + 1);
            [COLOR="Red"]item0[/COLOR].SubItems.Add(textBox1.Text);
            [COLOR="Red"]item0[/COLOR].SubItems.Add(textBox2.Text);
            frm1.listView1.Items.Add([COLOR="Red"]item0[/COLOR]);
            frm1.Show();
            this.Close();
Bei der zweiten:

Code:
            Form1 frm1 = new Form1();
            ListViewItem [COLOR="Red"]item1 [/COLOR]= new ListViewItem(textBox3.Text, frm1.listView1.Items.Count + 1);
            [COLOR="Red"]item1[/COLOR].SubItems.Add(textBox1.Text);
            [COLOR="Red"]item1[/COLOR].SubItems.Add(textBox2.Text);
            frm1.listView1.Items.Add([COLOR="Red"]item1[/COLOR]);
            frm1.Show();
            this.Close();
Nur ich will dass des automatisch gemacht wird und ich da nicht was weiß ich wie viel Zeilen Code schreiben muss.

Ich hoffe ihr habt verstanden was ich meine und könnt mir bei meinem Problemchen helfen.

Danke im Voraus.

MfG CranK™
CranK™ is offline  
Old 07/23/2011, 11:48   #2
 
xNopex's Avatar
 
elite*gold: 0
Join Date: May 2009
Posts: 827
Received Thanks: 471
Geht nicht. Stichwort 'Array' bzw. klüger programmieren.

EDIT: Wenns dynamisch sein soll, dann natürlich kein Array. Dynamische Alternative verwenden. Liste, Schlange, etc.
xNopex is offline  
Old 07/23/2011, 12:26   #3
 
elite*gold: 35
Join Date: Jun 2009
Posts: 2,187
Received Thanks: 6,906
Quote:
Originally Posted by xNopex View Post
Geht nicht. Stichwort 'Array' bzw. klüger programmieren.

EDIT: Wenns dynamisch sein soll, dann natürlich kein Array. Dynamische Alternative verwenden. Liste, Schlange, etc.
Hmm hätteste vllt ein Beispiel für mich?
Bin eher noch so der C# Anfänger...
CranK™ is offline  
Old 07/23/2011, 17:12   #4
Administrator
 
Muddy Waters's Avatar
 
elite*gold: 41364
Join Date: Jan 2010
Posts: 22,729
Received Thanks: 12,625
Ich verstehe nicht ganz, warum du in deinem Code Schnipsel jedes mal eine neue Instanz von Form1 instantiierst. Dass die ListView in dieser neuen Instanz nach Aufruf des standard Konstruktors jeweils erstmal leer ist, sollte eigentlich klar sein.

Aus meiner Sicht ist dein Problem die Neuinstantiierung von Form1 in deiner neuen Form. Ich glaube was du eigentlich willst, ist eine Referenz auf Form1. Die müsstest du aber dem Konstruktor deiner zweiten Form bei der Instantiierung übergeben, nur dann kannst du auch auf die Member von Form1 zugreifen, sofern diese public sind.
Aber vielleicht ist es das auch nicht und ich habe dein Problem einfach nicht verstanden...

Noch ein Tipp: auch wenn ich noch nicht genau einsehen kann, was du letztendlich anstrebst, aber wenn du vorhast das ganze ein wenig objektorientierter anzugehen und Wert legst auf viele Möglichkeiten bezüglich der Optik, empfehle ich dir die Klassenbibliothek. Damit habe ich bei meinem letzten Projekt recht gute Erfahrungen gemacht.

Vorteil: du kannst damit fast alles erdenkliche machen.
Nachteil: das ist alles recht komplex und der Einarbeitungsaufwand ist verhältnismäßig groß.

LG
Muddy
Muddy Waters is offline  
Thanks
1 User
Old 07/28/2011, 07:00   #5
 
xNopex's Avatar
 
elite*gold: 0
Join Date: May 2009
Posts: 827
Received Thanks: 471
Hab den Thread ganz vergessen..

Wenn du zusätzliche Funktionen brauchst, schnell selber schreiben:
Liste (Datenstruktur)

Bsp:

Code:
List<ListViewItem> listViewItem_list;
listViewItem_list.Add(new ListViewItem(...));
Das ist jedoch total schwachsinnig. Klüger wäre so etwas:

Code:
public void AddNewListViewItem(ListViewItem item)
{
    this.listView1.Items.Add(item);
}
xNopex is offline  
Thanks
1 User
Reply


Similar Threads Similar Threads
[VB]Listview icon neben text?
07/06/2011 - .NET Languages - 9 Replies
habe jetzt ca 30min gesucht aber nichts gefunden. also sagen wir mal meine listview sieht so aus: text1 text2 text3 dann soll es so sein
VB08 Text/Item in ListView speichern
06/26/2011 - .NET Languages - 13 Replies
Moin zusammen. Nach langer langer Zeit hatte ich mal wieder Lust etwas mit Visual Basic zu programmieren. Es sollte eine Art Accountverwalter werden. Allerdings weiß ich gerade nicht, wie ich den Text (Items und Subitems) in der ListView1 speichern kann und, dass dieser beim nächsten Start wieder aufgerufen wird. Hoffe jemand kann mir ne Lösung sagen ;o Zurzeit sieht das Programm so aus (Der Text unter "Name/Link Benutzername Passwort Email etc. soll gespeichert werden und beim...
[AutoIt] ListView nach mehreren Kriterien sortieren
02/26/2011 - AutoIt - 7 Replies
Hi zusammen, für mein aktuelles Projekt ist es nötig, dass ich ein ListView nach mehreren Kriterien sortiere, also mit verschiedenen Prioritäten. Das ganze sieht in etwa wie eine Bundesligatabelle aus. Prioritäten: Punkte > Tordifferenz > geschossene Tore Ich hab das jetzt mal mit den folgenden Codeschnippseln probiert: Global $B_DESCENDING _GUICtrlListView_SimpleSort($db_zs4 ,$B_DESCENDING , 10)Wie ihr jetzt wahrscheinlich merkt bedeuten die Variablen folgendes: $db_zs4 //-...
Autoit3 Listview Transparent
12/31/2010 - AutoIt - 3 Replies
Hallo Leute, kann mir wer sagen wie ich es schaffe, ein Listview Control transparent zu machen, damit das Hintergrundbild der GUI durchscheint. Danke schon mal. PaPa-Schlumpf
[VB 2008]Listview Items mit Spalten -Brauche Hilfe
03/15/2010 - .NET Languages - 5 Replies
Hallo, ich habe ein Problem. Und zwar bin ich gerade ein Projekt am Coden, indem ich ein ListView Control mit 3 Spalten habe: "ID", "PW" und "Beschreibung" Die Texte die in die Spalten eingelesen werden sollen, stehen in einer Textdatei mit den Namen "Account1". Zeile 1 = ID Zeile 2 = PW Zeile 3 = Beschreibung



All times are GMT +2. The time now is 01:04.


Powered by vBulletin®
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
SEO by vBSEO ©2011, Crawlability, Inc.
This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.

Support | Contact Us | FAQ | Advertising | Privacy Policy | Terms of Service | Abuse
Copyright ©2024 elitepvpers All Rights Reserved.