Aggiungo un MenuStrip al mio modulo e vorrei aggiungere altri controlli sotto di esso come al solito Punto (0, 0) è l'angolo in alto a sinistra dello spazio vuoto del modulo. Dopo aver aggiunto il menu al mio modulo e aggiunto altri controlli, si sovrappongono a vicenda. Quindi voglio togliere qualche altezza del client rect per il menu e un pulsante con Location = (0,0)
deve essere RIGHT sotto il menu.Come togliere lo spazio verticale per il menu aggiunto a livello di programmazione?
Come faccio?
Se si assegna una proprietà Menu principale alla proprietà del modulo, viene eseguita automaticamente ma io desidero e devo utilizzare MenuStrip.
Edit: questo non funziona:
MenuStrip menu = new MenuStrip();
menu.Items.Add("File");
menu.AutoSize = false;
menu.Height = 50;
menu.Dock = DockStyle.Top;
MainMenuStrip = menu;
Controls.Add(menu);
Button b = new Button();
b.Text = "hello world";
b.SetBounds(0, 25, 128, 50);
Controls.Add(b);
Anche se questo funziona come vorrei che a che fare con MenuStrip:
Menu = new MainMenu();
Menu.MenuItems.Add("File");
Button b = new Button();
b.Text = "hello world";
b.SetBounds(0, 0, 128, 50);
Controls.Add(b);
Hai provato a utilizzare Dock? Se li aggiungi tutti con DockStyle.Top verranno impilati verticalmente (non dimenticare di reverificare l'ordine di inserimento per cambiare il loro indice). –
... a proposito: anche il Form ha una proprietà MainMenuStrip. –
@Adriano Sì, ma non aiuta. Se vedi l'esempio il pulsante sarà sotto il menu. – Bitterblue