Laden...

Usercontrol (Menu) funktioniert im Tabcontrol nicht richtig

Erstellt von jinrash vor 10 Jahren Letzter Beitrag vor 10 Jahren 805 Views
J
jinrash Themenstarter:in
4 Beiträge seit 2013
vor 10 Jahren
Usercontrol (Menu) funktioniert im Tabcontrol nicht richtig

Hallo,

ich habe mir ein kleines Control gebastelt und komme leider nicht weiter. Das Control soll am Ende aus verschiedenen Buttons bestehen und als Menu benutzt werden. Ich fande die Idee toll, die Buttons direkt im Eigenschaftenfenster sichtbar oder unsichtbar machen zu können. Leider funktioniert das nicht richtig. Ich habe mir schon mehrere Lösungen im Internet angesehen und kann meinen Fehler nicht finden. Mit anderen Controls die ich Programmiert habe, bekomme ich diesen Fehler nicht. Vielleicht steckt in den anderen der selbe Fehler, nur es fällt nicht so auf?

Der Fehler:
Wenn ich mein Control merhmals auf eine Form ziehe, funktioniert alles wunderbar. Ich kann per Eigenschaftenfenster die Buttons ein und ausblenden wie es mir gefällt und beim Ausführen sieht alles richtig aus. Wenn ich aber ein Tabmenu mit mehreren Tabpages erstelle und auf jeder Tabpage mein Control hinzufüge, dann werden die Controls nicht mehr nach den Einstellungen im Eigenschaftenfenster (nichtmals nach den Defaulteinstellungen) angezeigt. Immer das zuletzt eingefügte (oder bearbeitete Control) wird richtig dargestellt. Bei den anderen verschwinden die Buttons auf mysteriöser weise. Ich glaube das ich irgendwas vergessen oder übersehen habe. Der Code ist ... nunja pups einfach. Wo liegt mein Problem? Ich habe mir schon mehrere Tutorials, Posts etc. dazu durchgelesen (zuletzt den Artikel: Eigenschaften hinter Gittern von Dr. Joachim Fuchs) und trotzdem komme ich nicht drauf. Bitte helft mir =(

Erstmal der Code des Controls (wegen Lesbarkeit nur ein Button zum Test, aber der Fehler bleibt):


using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Drawing;
using System.Data;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.Collections;

namespace My_Controls
{
    public partial class Menu_New : UserControl
    {
        [Category("Button - Schließen"),
        Description("Lässt den Button erscheinen oder verschwinden."),
        DefaultValue(true)]
        public bool CloseButtonVisible
        {
            get
            {
                return btnClose.Visible;
            }
            set
            {
                btnClose.Visible = value;
            }
        }
        public Menu_New()
        {
            InitializeComponent();            
        }
    }
}

Ausgangslage:
Ich habe nun in einem neuen Projekt ein Tabcontrol und diesem 3 Tabpages hinzugefügt. Auf jeder Tabpage ist mein Control zu finden. Ich habe die Eigenschaften der Controls nicht angefasst. Die Eigenschaft CloseButtonVisible ist bei allen drei Controls standartmäßig auf true gesetzt.

Wenn ich das Programm jetzt ausführe, sind jeweils die Buttons nicht mehr zu sehen, bis auf das Control, das ich zuletzt eingefügt habe, da wird der Button korrekt angezeigt.

Habe ich irgendwas vergessen =( ? oder sehe ich den Wald vor lauter Bäumen nicht? Ich bitte um Erklärung =(

Ich hoffe ich konnte mein Problem verständlich rüberbringen.

Viele Grüße,
Benni

4.221 Beiträge seit 2005
vor 10 Jahren

Du reichst ja nur das Visilbe Property des Buttons durch. Und vermutlich macht die TabPage den unsichtbar.

Speichere den Wert in einem eigenen Property.

Früher war ich unentschlossen, heute bin ich mir da nicht mehr so sicher...

J
jinrash Themenstarter:in
4 Beiträge seit 2013
vor 10 Jahren

Tatsächlich!
DANKE!!!!