Je travaille sur VS 2008 avec C #. Ce code ci-dessous ne fonctionne pas pour moi. Mon formulaire a été conçu en résolution 1024 x 768.
L'ordinateur portable de nos clients est en résolution 1366 x 768. Pour résoudre ce problème, j'ai défini le code ci-dessous dans l'événement Form Load:
this.Location = new Point(0, 0);
this.Size = Screen.PrimaryScreen.WorkingArea.Size;
mais le formulaire ne redimensionne pas en fonction de la résolution de l'écran et du bas de mon formulaire est masqué ou coupé ou la barre de défilement me manque.
Y at-il un moyen de résoudre ce problème? S'il vous plaît, montrez-moi la syntaxe. Merci d'avance
Ne pouvez-vous pas commencer à maximiser?
Met le System.Windows.Forms.Form.WindowState
propriété à FormWindowState.Maximized
Si vous souhaitez définir la taille du formulaire par programme, définissez la propriété StartPosition
du formulaire sur Manual
. Sinon, les algorithmes de positionnement et de dimensionnement de la fiche interfèrent avec les vôtres. C'est pourquoi vous rencontrez les problèmes mentionnés dans votre question.
Exemple: Voici comment redimensionner le formulaire à une taille située à mi-chemin entre sa taille d'origine et la taille de la zone de travail de l'écran. Je centre aussi le formulaire dans la zone de travail:
public MainView()
{
InitializeComponent();
// StartPosition was set to FormStartPosition.Manual in the properties window.
Rectangle screen = Screen.PrimaryScreen.WorkingArea;
int w = Width >= screen.Width ? screen.Width : (screen.Width + Width) / 2;
int h = Height >= screen.Height ? screen.Height : (screen.Height + Height) / 2;
this.Location = new Point((screen.Width - w) / 2, (screen.Height - h) / 2);
this.Size = new Size(w, h);
}
Notez que la définition de WindowState
sur FormWindowState.Maximized
seul ne change pas la taille de la fenêtre restaurée. Ainsi, la fenêtre peut sembler bonne tant qu'elle est maximisée, mais une fois restaurée, la taille et l'emplacement de la fenêtre peuvent toujours être erronés. Je suggère donc de définir la taille et l'emplacement même lorsque vous avez l'intention d'ouvrir la fenêtre de manière maximale.
Un formulaire maximisé est probablement utile, ou vous pouvez le faire manuellement lors du chargement du formulaire:
Bloc de code
this.Location = new Point(0, 0);
this.Size = Screen.PrimaryScreen.WorkingArea.Size;
Ensuite, jouez avec l'ancrage pour que les contrôles enfants de votre formulaire s'adaptent automatiquement à la nouvelle taille de votre formulaire.
J'espère que cela t'aides,
Définissez la propriété de formulaire pour qu'elle s'ouvre dans un état maximisé.
this.WindowState = FormWindowState.Maximized;
int h = Screen.PrimaryScreen.WorkingArea.Height;
int w = Screen.PrimaryScreen.WorkingArea.Width;
this.ClientSize = new Size(w , h);
Vous pouvez simplement définir l'état de la fenêtre
this.WindowState = System.Windows.Forms.FormWindowState.Maximized;
il suffit de définir Autoscroll = true
pour votre formulaire Windows .. (ce n'est pas une bonne solution mais utile) ..
essayez également pour le panneau (propriété Autoscroll
= true
)
Vous pouvez toujours dire à la fenêtre de commencer en maximisé ... cela devrait vous donner le même résultat ... Comme ceci: this.WindowState = FormWindowState.Maximized;
P.S. Vous pouvez également essayer (et je ne le recommande pas) de soustraire la hauteur de la barre des tâches.