Forum: PC-Programmierung VB TabControl und ListView


Announcement: there is an English version of this forum on EmbDev.net. Posts you create there will be displayed on Mikrocontroller.net and EmbDev.net.
von CATCO (Gast)


Bewertung
0 lesenswert
nicht 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)


Bewertung
0 lesenswert
nicht 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)


Bewertung
0 lesenswert
nicht 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)


Bewertung
0 lesenswert
nicht 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)


Bewertung
0 lesenswert
nicht 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. (pucki)


Bewertung
0 lesenswert
nicht 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

: Bearbeitet durch User
von CATCO (Gast)


Bewertung
0 lesenswert
nicht 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

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.

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