Richtextbox im Formular verankern.



  • Es ist eigentlich ein ganz einfaches Problem.
    In dem Formular gibt es oben ein paar Buttons und darunter eine RichTextBox.
    Diese ist mit Anchor(Bottom,Left,Right) an drei Seiten mit dem Formular verankert.
    Es gelingt mir nicht, den Abstand nach oben konstant festzulegen, damit der Platz für die Buttons bleibt. Ich habe das gleiche mit Delphi gemacht, da gibt es ebenfalls Anchor und zusätzlich Top. Dort habe ich z.B. 47 festgelegt.
    Wenn ich nach dem Start das gesamte Fenster vergrößere oder verkleinere, dann bleiben bei Delphi die drei Anchor-Seiten fix und der obere Abstand (Platz für die Buttons) ebenfalls.
    Bei C# finde ich die Angabe Top nicht, ich kann sie zwar setzen.

            private void Form1_ClientSizeChanged(object sender, EventArgs e)
            {
                richTextBox1.Top = 47;
            }
    

    Da bleibt der obere Abstand so, wie ich es möchte, aber nach unten bleibt die Box, so wie sie ist, d.h. sie ist nicht mehr Bottom per Anchor angeheftet.



  • Ich habe etwas probiert und dabei eine Lösung gefunden, die sicherlich nicht die eleganteste ist.

    namespace TestCs
    {
        public partial class Form1 : Form
        {
            public Form1()
            {
                InitializeComponent();
    
                richTextBox1.Top = 47; // Den oberen Abstand festlegen
            }
    
            private void Form1_ClientSizeChanged(object sender, EventArgs e)
            {
                richTextBox1.Top = 47;
                richTextBox1.Height = Form1.ActiveForm.ClientSize.Height - 47;
            }
        }
    }
    


  • Hast du versucht "margin" zu setzen?



  • Hi,

    vielleicht noch mal explizit sagen wer Parent ist. Oder Alignment setzen.

    Gruß Mümmel



  • @Jockelx
    Margin - alle Werte stehen auf 3



  • @muemmel
    Parent und Alignment - in den Eigenschaften finde ich dazu nichts.



  • @hkdd sagte in Richtextbox im Formular verankern.:

    @Jockelx
    Margin - alle Werte stehen auf 3

    Scherzkeks. Ich meinte, ob du margin-top mal auf 50 oder so gesetzt hast, statt mit top und ClientSizeChanged zu arbeiten.
    (Ernste Frage, keine Ahnung wie sich Win-Forms da so verhält)


Anmelden zum Antworten