Xclusive - Sa 04.04.09 14:07
Titel: Schließen Button
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
Kha: Bild angehängt
Kha - 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
http://www.codeproject.com nach einem Control um, das dir die Arbeit abnimmt.
JüTho - 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 [
http://www.codeproject.com/info/search.aspx?artkw=tabcontrol] nach einem erweiterten TabControl, das diese Möglichkeit bietet. Die
DockPanelSuite [
http://sourceforge.net/projects/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