Guten Morgen liebe Community,
ich habe vor, meine eigene MessageBox zu programmieren.
Da ich keine Buttons auf dem Dialog platziert habe, müssen diese dynamisch erzeugt und platziert werden.
Grundsätzlich kein Problem, jedoch verstehe ich das Koordinatensystem scheinbar nicht ganz...
Hier mal die Methode, welche mir einen (weiteren) Button hinzufügt:
Spoiler anzeigen
Wenn ich als
Wenn ich den Button nun in der unteren rechten Ecke platzieren möchte, würde ich nun für X
Falsch gedacht:
Wie soll ich das verstehen?
ich habe vor, meine eigene MessageBox zu programmieren.
Da ich keine Buttons auf dem Dialog platziert habe, müssen diese dynamisch erzeugt und platziert werden.
Grundsätzlich kein Problem, jedoch verstehe ich das Koordinatensystem scheinbar nicht ganz...
Hier mal die Methode, welche mir einen (weiteren) Button hinzufügt:
C#-Quellcode
- private void AddButton(string text, DialogResult dialogResult)
- {
- //prepare button
- Button btn = new Button();
- btn.Size = new Size( 150, 50 );
- btn.FlatStyle = FlatStyle.Flat;
- btn.FlatAppearance.BorderSize = 0;
- btn.Font = Core.CorporateDesign.Fonts.Button;
- btn.Text = text;
- btn.ForeColor = Color.White;
- btn.DialogResult = dialogResult;
- if (dialogResult == DialogResult.Yes || dialogResult == DialogResult.OK ) btn.BackColor = Core.CorporateDesign.Colors.Button_Blue;
- else btn.BackColor = Core.CorporateDesign.Colors.Button_Red;
- //add control
- Controls.Add( btn );
- //calculate location
- int x = Width - btn.Width - btn.Margin.Right - ( buttons.Count * (btn.Width + btn.Margin.Right));
- int y = Height - btn.Height - btn.Margin.Bottom;
- btn.Location = new Point(x, y);
- //add button to list (for multiple buttons)
- buttons.Add( btn );
- }
Wenn ich als
Location
den Punkt 0,0
angebe, platziert sich der Button wie erwartet in der oberen linken Ecke des Dialogs - soweit verstanden.Wenn ich den Button nun in der unteren rechten Ecke platzieren möchte, würde ich nun für X
Dialogbreite - Buttonbreite
und für Y Dialoghöhe - Buttonhöhe
annehmen.Falsch gedacht:
Wie soll ich das verstehen?