web-dev-qa-db-fra.com

Changer la taille du formulaire lors de l'exécution en C #

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?

12
bLAZ

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.

9
ChrisF

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);
}
32
Arrow

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);
    }
}
4
MrFox

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;
1
Penge

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.

0
GntS