📜  如何在C#中设置GroupBox的自动尺寸模式?

📅  最后修改于: 2021-05-29 14:13:17             🧑  作者: Mango

在Windows窗体中,GroupBox是一个容器,其中包含多个控件,并且这些控件彼此相关。换句话说,GroupBox是带有适当的可选标题的一组控件周围的框架显示。或者使用GroupBox将相关控件分类到一个组中。在GroupBox中,可以使用AutoSizeMode属性设置一个值,该值指示当AutoSize属性的值设置为true时GroupBox的行为。此属性的值在AutoSizeMode枚举下定义,其值为:

  • GrowOnly:此值指示GroupVox根据内容增长,但如果内容较少则不会收缩。
  • GrowAndShrink:此值指示GroupBox根据其中的内容而增大和缩小。

此属性的默认值为GrowOnly。您可以通过两种不同的方式设置此属性:

1.设计时:这是设置GroupBox的AutoSizeMode属性的最简单方法,如以下步骤所示:

  • 第1步:创建一个Windows窗体,如下图所示:
    Visual Studio->文件->新建->项目-> WindowsFormApp
  • 步骤2:接下来,将GroupBox控件从窗体上的工具箱中拖放,如下图所示:

  • 步骤3:拖放之后,您将转到GroupBox的属性并设置GroupBox的AutoSizeMode属性,如下图所示:

    输出:

2.运行时:比上述方法有些棘手。在此方法中,可以借助给定的语法以编程方式设置当AutoSize属性设置为true时GroupBox的行为:

public System.Windows.Forms.AutoSizeMode AutoSizeMode { get; set; }

在这里,AutoSizeMode用于设置此属性的值。以下步骤显示了如何动态设置GroupBox的AutoSizeMode属性:

  • 步骤1:使用GroupBox类提供的GroupBox()构造函数创建GroupBox。
    // Creating a GroupBox
    GroupBox gbox = new GroupBox(); 
    
  • 步骤2:创建GroupBox后,设置GroupBox类提供的GroupBox的AutoSizeMode属性。
    // Setting Auto Size Mode
    gbox.AutoSizeMode = AutoSizeMode.GrowAndShrink;
    
  • 步骤3:最后,将此GroupBox控件添加到表单中,并使用以下语句在GroupBox上添加其他控件:
    // Adding groupbox in the form
    this.Controls.Add(gbox);
    
    and 
    
    // Adding this control 
    // to the GroupBox
    gbox.Controls.Add(c2);
    

    例子:

    using System;
    using System.Collections.Generic;
    using System.ComponentModel;
    using System.Data;
    using System.Drawing;
    using System.Linq;
    using System.Text;
    using System.Threading.Tasks;
    using System.Windows.Forms;
      
    namespace WindowsFormsApp46 {
      
    public partial class Form1 : Form {
      
        public Form1()
        {
            InitializeComponent();
        }
      
        private void Form1_Load(object sender, EventArgs e)
        {
            // Creating and setting 
            // properties of the GroupBox
            GroupBox gbox = new GroupBox();
            gbox.Location = new Point(179, 145);
            gbox.Text = "Select Gender";
            gbox.Name = "Mybox";
            gbox.Font = new Font("Colonna MT", 12);
            gbox.Visible = true;
            gbox.AutoSize = true;
            gbox.AutoSizeMode = AutoSizeMode.GrowAndShrink;
      
            // Adding groupbox in the form
            this.Controls.Add(gbox);
      
            // Creating and setting 
            // properties of the CheckBox
            CheckBox c1 = new CheckBox();
            c1.Location = new Point(40, 42);
            c1.Size = new Size(69, 20);
            c1.Text = "Male";
      
            // Adding this control
            // to the GroupBox
            gbox.Controls.Add(c1);
      
            // Creating and setting
            // properties of the CheckBox
            CheckBox c2 = new CheckBox();
            c2.Location = new Point(183, 39);
            c2.Size = new Size(79, 20);
            c2.Text = "Female";
      
            // Adding this control 
            // to the GroupBox
            gbox.Controls.Add(c2);
        }
    }
    }
    

    输出: