Announcement

Collapse
No announcement yet.

Komponente mit Textbox

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • Komponente mit Textbox

    Hallo zusammen,

    für ein Projekt benötige ich ein panel, welches neben einiger Sonderfunktionen auch eine textbox enthält. Hierzu habe ich einen Nachfahren eines Panels deklariert und die TextBox im Konstruktor eingefügt.
    Soweit funktioniert alles, jedoch, wenn ich die Komponente auf eine Formular platziere kann ich im Eigenschaftenfenster nicht auf die textbox zugreifen, obwohl ich diese als public deklariert habe. Was muss ich ändern ?

    Viele Grüße,

    Holger Teetz

  • #2
    Hallo Holger!

    Ich denke es liegt daran, dass die Textbox standardmaessig mit einem private Modifier deklariert wird und du somit nicht von aussen auf die Textbox zugreifen kannst.

    Wenn du dir im Panel eine property erstellt, welche dir eine Referenz auf diese Textbox zurueckgibt, kannst du ohne Probleme auf die Textbox zugreifen.

    Beispiel:
    Code:
        public partial class PanelMitTextbox : Panel
        {
            public TextBox PanelTextbox
            {
                get { return this.txNewTextbox; }
            }
    
            TextBox txNewTextbox = new TextBox();
    
            public PanelMitTextbox()
            {
                InitializeComponent();
                this.Controls.Add(this.txNewTextbox);
                txNewTextbox.Visible = true;
                txNewTextbox.Top = 2;
                txNewTextbox.Left = 2;
            }
        }
    Wenn dieses Control auf einer Form platziert wird, kannst du zB: ueber 'this.panelMitTextbox1.PanelTextbox.Text' auf den Inhalt der Textbox zugreifen.

    Ich hoffe das hilft dir weiter.
    *-- robert.oh. --*

    Comment

    Working...
    X