AutoSizeMode, énumération

 

Spécifie comment un contrôle se comporte lorsque sa propriété AutoSize est activée.

Espace de noms:   System.Windows.Forms
Assembly:  System.Windows.Forms (dans System.Windows.Forms.dll)

public enum AutoSizeMode

Nom de membreDescription
GrowAndShrink

Le contrôle agrandit ou diminue sa taille pour s'adapter à son contenu.Le contrôle ne peut pas être redimensionné manuellement.

GrowOnly

Le contrôle s'agrandit autant que nécessaire pour s'adapter à son contenu mais ne diminue pas en-dessous de la valeur de sa propriété Size.Le formulaire peut être redimensionné tant que sa taille lui permet d'afficher tous les contrôles qu'il contient.

La définition de la valeur GrowAndShrink reproduit un comportement identique à celui que vous obtenez pour les contrôles avec la propriété AutoSize activée mais sans aucune

Propriété AutoSizeMode.Les propriétés MinimumSize et MaximumSize sont respectées, mais la valeur actuelle de la propriété Size est ignorée.

L'exemple de code suivant présente un formulaire, créé à l'aide de code adéquat, qui se redimensionne automatiquement pour s'adapter à son contenu.Lors de son exécution, le formulaire affiche Label, TextBox pour la saisie d'une URL et Button pour l'affichage de cette URL dans le navigateur Web par défaut de l'utilisateur.L'exemple de code utilise FlowLayoutPanel pour disposer les contrôles contenus les uns après les autres, puis il définit AutoSize et AutoSizeMode en les agrandissant et en les réduisant afin d'ajuster le contenu au formulaire.

private void Form1_Load(object sender, EventArgs e)
{
    this.AutoSize = true;
    this.AutoSizeMode = AutoSizeMode.GrowAndShrink;
    this.Text = "URL Opener";

    flowPanel = new FlowLayoutPanel();
    flowPanel.AutoSize = true;
    flowPanel.AutoSizeMode = AutoSizeMode.GrowAndShrink;
    this.Controls.Add(flowPanel);

    urlLabel = new Label();
    urlLabel.Name = "urlLabel";
    urlLabel.Text = "URL:";
    urlLabel.Width = 50;
    urlLabel.TextAlign = ContentAlignment.MiddleCenter;
    flowPanel.Controls.Add(urlLabel);

    urlTextBox = new TextBox();
    urlTextBox.Name = "urlTextBox";
    urlTextBox.Width = 250;
    flowPanel.Controls.Add(urlTextBox);

    urlButton = new Button();
    urlButton.Name = "urlButton";
    urlButton.Text = "Open URL in Browser";
    urlButton.Click += new EventHandler(urlButton_Click);
    flowPanel.Controls.Add(urlButton);
}

void urlButton_Click(object sender, EventArgs e)
{
    try
    {
        Uri newUri = new Uri(urlTextBox.Text);
    }
    catch (UriFormatException uriEx)
    {
        MessageBox.Show("Sorry, your URL is malformed. Try again. Error: " + uriEx.Message);
        urlTextBox.ForeColor = Color.Red;
        return;
    }

    // Valid URI. Reset any previous error color, and launch the URL in the 
    // default browser.
    // NOTE: Depending on the user's settings, this method of starting the
    // browser may use an existing window in an existing Web browser process.
    // To get around this, start up a specific browser instance instead using one of
    // the overloads for Process.Start. You can examine the registry to find the
    // current default browser and launch that, or hard-code a specific browser.
    urlTextBox.ForeColor = Color.Black;
    Process.Start(urlTextBox.Text);
}

.NET Framework
Disponible depuis 2.0
Retour au début
Afficher: