Forum: PC-Programmierung VB TabControl und ListView


von CATCO (Gast)


Lesenswert?

Hallo,

ich habe 2 Probleme in VB.

1. TabControl, wenn ich einen Tab (Registerkarte) mit Visible = false 
setze, bleibt die bestehen. Ich kann nur enabled oder disabled machen. 
Ist das korrekt?

2. ListView. ich möchte eine Liste haben mit Trennstrichen ähnlich einer 
kleinen Excel Liste. Ich habe dazu 4 Spalten angelegt. Mir wird nichts 
angezeigt. Weder Striche noch die Spalten noch sonstiges?! Was man dazu 
sagen muss, ich habe die Listview in den TabControl eingeblendet. Warum 
geht das nicht was mache ich hier falsch?

von Hmmm (Gast)


Lesenswert?

CATCO schrieb:
> Ich habe dazu 4 Spalten angelegt. Mir wird nichts
> angezeigt. Weder Striche noch die Spalten noch sonstiges?!

Passenden View gesetzt? Mehrere Spalten gibt's nur bei "Details".

von CATCO (Gast)


Lesenswert?

Hmmm schrieb:
> CATCO schrieb:
>> Ich habe dazu 4 Spalten angelegt. Mir wird nichts
>> angezeigt. Weder Striche noch die Spalten noch sonstiges?!
>
> Passenden View gesetzt? Mehrere Spalten gibt's nur bei "Details".

Gerade in dem Moment gefunden. View auf Details gesetzt, nun passt das. 
Punkt 2 ist okay. Jetzt noch die Frage zu Punkt 1

von c-hater (Gast)


Lesenswert?

CATCO schrieb:

> 1. TabControl, wenn ich einen Tab (Registerkarte) mit Visible = false
> setze, bleibt die bestehen. Ich kann nur enabled oder disabled machen.
> Ist das korrekt?

Korrekt vielleicht nicht, aber das tatsächliche Verhalten des Controls. 
Um Tabpages auszublenden, muß man sie aus der Controls-Liste des 
Tab-Controls entfernen.

Wenn man also mal annimmt, das Tabcontrol hat den Namen tc und die 
Registerkarte hat den Namen tp dann geht ausblenden so:

if tc.Controls.Contains(tp) then
  tc.Controls.Remove(tp)
end if

Und einblenden geht so:

if not tc.Controls.Contains(tp) then
  tc.Controls.Add(tp)  'oder Insert, um es an eine best. Pos. zu kriegen
end if

von c-hater (Gast)


Lesenswert?

c-hater schrieb:

> tc.Controls.Contains(tp)

Das war Quatsch. Nicht die Controls-Auflistung verwenden, sondern die 
Tabpages-Auflistung. Also überall, wo ich Controls geschrieben habe, 
musst du statt dessen Tabpages schreiben.

von Alexander K. (Gast)


Lesenswert?

CATCO schrieb:
> ListView. ich möchte eine Liste haben mit Trennstrichen ähnlich einer
> kleinen Excel Liste. Ich habe dazu 4 Spalten angelegt.

Vergiss es.

Nehme ein UNGEBUNDES Datagridview und stelle es dir passend ein. Also 
einfach das Datagridview auf den Form ziehen. Rechte Maus, Spalten 
bearbeiten, fertig. Dann an den Eigenschaften Header und co. Wegblenden, 
das war's.

Das geile ist, du kannst dann eine Datenbank dranhängen, und auf 
Reaktionen reagieren.

Dazu einfach eine "geheime" Spalte anlegen, VISIBLE der Spalte = FALSE. 
Da lädstt du die ID des Datensatz rein, und das wars.

gitter.Rows(0).Cells(0).Value = "so füllen" <- 1. spalte / 1 Zeile
Auslesen anders herum ;)

Bei einen Klick einfach im Click-Ereignis ROW+COL auslesen und reagieren 
;)

Wenn man es "blind" macht, kann man ein Datagridview sogar zu schnellen 
und sauberen Formatierung der Anzeige auf den Bildschirm benutzen. Spart 
ein viele Elemente ;) Und das ansprechen prima in Schleifen.

Gruß

  Pucki

von CATCO (Gast)


Lesenswert?

Danke das hat geklappt. Das Listview ist eigentlich gar nicht so 
unflexibel, wenn man das verstanden hat wie es funktioniert mit den 
Indexen. Ist nur etwas verwirrend mit den SubItems aber klappt nun

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.