Hallo liebe Community,
ich bin mir aktuell gar nicht sicher, ob ich da gerade nur einen Furz im Kopf habe, oder ob mir das Framework da einen Streich spielt.
Ich habe einen Dialog mit einer selbst gebauten Menü-Leiste (TableLayoutPanel mit Buttons), die oben angebracht ist:
Beim Klick auf die Schaltfläche
Grundsätzlich soll der Dropdown-Dialog an der unteren linken Ecke des angeklickten Menü-Buttons positioniert werden.
Da hier der Dropdown-Dialog allerdings so aus dem Hauptdialog herausragt, möchte ich diesen um die "Herausrag-Differenz" zurückschieben.
Mein Versuch:
Im Vollbild funktioniert das zwar, allerdings nicht im Nicht-Vollbild.
Was mache ich falsch?
Um Euch das Hilfestellung-Geben zu vereinfachen, habe ich das Demo-Projekt angehangen
Danke für Eure Hilfe!
ich bin mir aktuell gar nicht sicher, ob ich da gerade nur einen Furz im Kopf habe, oder ob mir das Framework da einen Streich spielt.
Ich habe einen Dialog mit einer selbst gebauten Menü-Leiste (TableLayoutPanel mit Buttons), die oben angebracht ist:
Beim Klick auf die Schaltfläche
Item3
, geht ein weiterer Dialog auf, der einem Dropdown ähneln soll:Grundsätzlich soll der Dropdown-Dialog an der unteren linken Ecke des angeklickten Menü-Buttons positioniert werden.
Da hier der Dropdown-Dialog allerdings so aus dem Hauptdialog herausragt, möchte ich diesen um die "Herausrag-Differenz" zurückschieben.
Mein Versuch:
C#-Quellcode
- var button = sender as Button;
- var dialog = new frmMenu();
- dialog.StartPosition = FormStartPosition.Manual;
- var ptLowerLeft = new Point(0, button.Height);
- ptLowerLeft = button.PointToScreen(ptLowerLeft);
- dialog.Location = ptLowerLeft;
- var frmRightScreenCoordinate = Location.X + Right;
- var menuRightScreenCoordinate = ptLowerLeft.X + dialog.Width;
- if (menuRightScreenCoordinate > frmRightScreenCoordinate)
- {
- var diff = menuRightScreenCoordinate - frmRightScreenCoordinate;
- dialog.Location = new Point(dialog.Location.X - diff, dialog.Location.Y);
- }
- dialog.Show();
Im Vollbild funktioniert das zwar, allerdings nicht im Nicht-Vollbild.
Was mache ich falsch?
Um Euch das Hilfestellung-Geben zu vereinfachen, habe ich das Demo-Projekt angehangen
Danke für Eure Hilfe!
Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „TRiViUM“ ()