Textbox um Button erweitern

  • VB.NET
  • .NET (FX) 4.5–4.8

Es gibt 7 Antworten in diesem Thema. Der letzte Beitrag () ist von John422.

    Textbox um Button erweitern

    Hi,

    ich möchte eine Textbox, die einen Button neben sich enthält als eigenes Steuerelement bauen.
    Der Button soll lediglich Funktionen innerhalb des Controls bedienen.
    Nach außen soll das Control alle Events, die die Textbox kennt 1:1 nach außen unter den gleichen Namen weiter leiten.

    Usercontrol, Textbox und Button drauf. Events bauen. Doof, die Eventnamen beißen sich mit den Events, die bereits das Usercontrol selbst hat.

    Oder ist der ganze Ansatz falsch? Sollte ich besser die Klasse Textbox zu erweitern versuchen? Beispiele dafür gibts reichlich aber eines, welches einw weiteres Steuerelement beinhaltet habe ich nicht gefunden..

    John422 schrieb:

    Usercontrol, Textbox und Button drauf. Events bauen. Doof, die Eventnamen beißen sich mit den Events, die bereits das Usercontrol selbst hat.
    Du kannst die Events mit "beissendem" Namen vorzugsweise als Overrides deklarieren, wenn das nicht geht als Shadows.
    Selbst eine fullfeatured Textbox bauen ist unerhört kompliziert und aufwändig.

    Auch deine UserControlTextbox wird nicht mehr alles können was Textbox kann - Databinding zum Beispiel (es sei denn, du kriegst es hin, Databinding-Unterstützung zu implementieren).
    @John422 Schaff zunächst die Funktionalität.
    Gib Deinen Events neue Namen.
    Mit Overrides und Shadows kannst Du Dich später befassen, um den Code "schön" zu machen..
    Falls Du diesen Code kopierst, achte auf die C&P-Bremse.
    Jede einzelne Zeile Deines Programms, die Du nicht explizit getestet hast, ist falsch :!:
    Ein guter .NET-Snippetkonverter (der ist verfügbar).
    Programmierfragen über PN / Konversation werden ignoriert!
    @John422 Soll der Button innerhalb der TextBox sein oder nicht?
    Falls Du diesen Code kopierst, achte auf die C&P-Bremse.
    Jede einzelne Zeile Deines Programms, die Du nicht explizit getestet hast, ist falsch :!:
    Ein guter .NET-Snippetkonverter (der ist verfügbar).
    Programmierfragen über PN / Konversation werden ignoriert!

    John422 schrieb:

    Hmm, und so etwas wie das UserControl von der Klasse Textbox ableiten und ihm dann einen Button hinzufügen geht nicht?
    Verstehe Vererbung.
    Ein Usercontrol kannst du nicht von Textbox ableiten, weil die Klasse UserControl hat schon eine BasisKlasse.
    Schau dir die Geschichte im ObjectBrowser an.

    Du kannst allerdings ein CustomControl von Textbox ableiten, aber damit wirste nicht glücklich (eigene Erfahrung).
    Textbox ist ein lausiges Control, insbesondere was die Modifikation der Darstellung angeht - und ein aufgebrachter Button wäre ja im DarstellungsBereich.
    Aber ich probierma was, vlt. ists ja einfacher als ich bislang denke...
    guck, das habich geschafft.
    Ist aber immer noch Buggy. RightMargin verhält sich teilweise unerwünscht, und wenn mans zu klein zieht, stürztes ab.
    Das sind halt die tausend kleinen Teufel im Detail, wenn man sowas versucht.
    Ich gebe dazu keinen weiteren Support, weil ich fürchte, das wird ein Rattenschwanz ohne Ende.
    Dateien