Autor Beitrag
Xclusive
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 56


C#
BeitragVerfasst: Sa 04.04.09 14:07 
Hab ein Messanger gemacht und will jetzt ein schließen Button einfügen.
Wie mache ich das, dass ich einzelne Tabs schließen kann
Siehe Bild:

Moderiert von user profile iconKha: Bild angehängt
Einloggen, um Attachments anzusehen!
Kha
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 3803
Erhaltene Danke: 176

Arch Linux
Python, C, C++ (vim)
BeitragVerfasst: Sa 04.04.09 14:28 
Das wird leider nur mit einem tiefen Griff in die Trickkiste möglich sein. Am besten schaust du dich auf www.codeproject.com nach einem Control um, das dir die Arbeit abnimmt.

_________________
>λ=
JüTho
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 2021
Erhaltene Danke: 6

Win XP Prof
C# 2.0 (#D für NET 2.0, dazu Firebird); früher Delphi 5 und Delphi 2005 Pro
BeitragVerfasst: Sa 04.04.09 14:35 
Wie Kha sagt, ist das relativ kompliziert; das Standard-TabControl bietet dazu überhaupt keine Möglichkeit.

Das Zeichnen des Buttons ist noch das geringste Problem. Ordne dem TabControl eine ImageList zu und setze ImageIndex.

Zum Ausblenden einer TabPage musst du zunächst ein passendes Ereignis wählen. Wahrscheinlich ist ein MouseClick am besten geeignet, weil du dann noch den Bereich des Buttons prüfen musst. Ob eines der (De)Select-Ereignisse passt, glaube ich eher nicht.

Wenn diese Prüfungen erledigt sind, muss die betreffende TabPage mit einer der Remove-Methoden aus der TabControl.TabPages-Auflistung herausgenommen werden. Es funktioniert leider nicht, die betreffende Seite mit Hide oder Visible oder TabVisible o.ä. zu verbergen.

Alternativen sind: Suche unter CodeProject nach einem erweiterten TabControl, das diese Möglichkeit bietet. Die DockPanelSuite bietet diese Möglichkeit, ist aber ein erheblich umfangreicheres Produkt und führt weit über deine Bedürfnisse hinaus. (Beispielsweise wurde die Oberfläche von #D früher damit erstellt.)

Gruß Jürgen
Xclusive Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 56


C#
BeitragVerfasst: Sa 04.04.09 14:49 
Vielen dank für die schnelle antwort
werde es testen
mfg David