Comment puis-je changer la taille du formulaire de fenêtre au moment de l'exécution?
J'ai vu des exemples, mais chacun requiert la propriété Form.Size. Cette propriété peut être définie comme suit: http://msdn.Microsoft.com/en-us/library/25w4thew.aspx#Y456 , Mais j'ai créé mon formulaire de demande dans un outil visuel et le formulaire est créé comme ceci:
static void Main()
{
Application.Run(new Form());
}
Comment définir cette propriété Size
maintenant, puis la modifier à l'aide des méthodes Form.Height
et Form.Width
?
Si vous souhaitez manipuler le formulaire par programme, la solution la plus simple consiste à conserver une référence:
static Form myForm;
static void Main()
{
myForm = new Form();
Application.Run(myForm);
}
Vous pouvez ensuite l'utiliser pour modifier la taille (ou tout ce que vous voulez faire d'autre) au moment de l'exécution. Bien que Arrow indique vous ne pouvez pas définir les variables Width
et Height
directement, mais vous devez définir la propriété Size
.
Vous ne pouvez pas modifier les propriétés Width et Height du formulaire, car elles sont en lecture seule. Vous pouvez changer la taille du formulaire comme ceci:
button1_Click(object sender, EventArgs e)
{
// This will change the Form's Width and Height, respectively.
this.Size = new Size(420, 200);
}
Pour appeler ceci, vous devrez stocker une référence à votre formulaire et transmettre la référence à la méthode run. Ensuite, vous pouvez appeler cela dans un gestionnaire d’actions.
public partial class Form1 : Form
{
public void ChangeSize(int width, int height)
{
this.Size = new Size(width, height);
}
}
Vous pouvez modifier la hauteur d'un formulaire en procédant comme suit, à l'endroit où vous souhaitez modifier la taille (remplacez «10» par votre taille):
this.Height = 10;
Cela peut aussi être fait avec la largeur:
this.Width = 10;
Quelque chose comme ça marche bien pour moi:
public partial class Form1 : Form
{
Form mainFormHandler;
...
}
private void Form1_Load(object sender, EventArgs e){
mainFormHandler = Application.OpenForms[0];
//or instead use this one:
//mainFormHandler = Application.OpenForms["Form1"];
}
Ensuite, vous pouvez changer la taille comme ci-dessous:
mainFormHandler.Width = 600;
mainFormHandler.Height= 400;
ou
mainFormHandler.Size = new Size(600, 400);
Un autre point utile est que si vous souhaitez modifier la taille de mainForm
d'un autre Form
, vous pouvez simplement utiliser Property pour définir la taille.