代码之家  ›  专栏  ›  技术社区  ›  Joan Venge

哪个属性存储GroupBox包含的控件?

  •  0
  • Joan Venge  · 技术社区  · 15 年前

    是否有其他属性存储这些控件?

    编辑:下面是groupbox代码:

    using System;
    using System.Collections.Generic;
    using System.ComponentModel;
    using System.Drawing;
    using System.Data;
    using System.Text;
    using System.Windows.Forms;
    using System.Drawing.Drawing2D;
    
    namespace CustomControls
    {
        public partial class CustomGroupBox : GroupBox
        {
            public CustomGroupBox ( )
            {
                this.OutlineColor = Color.FromArgb ( 5, 5, 5 );
                this.Font = new Font ( "Tahoma", 8.25F, FontStyle.Regular );
            }
    
            Color outlineColor;
    
            [DefaultValue ( typeof ( Color ), "5, 5, 5" )]
            public Color OutlineColor
            {
                get { return outlineColor; }
                set { outlineColor = value; Invalidate ( ); }
            }
    
            [DefaultValue ( typeof ( Font ), "Arial, 8.25pt" )]
            public override Font Font
            {
                get { return base.Font; }
                set { base.Font = value; }
            }
    
            protected override void OnPaint ( PaintEventArgs pe )
            {
                //painting
            }
        }
    }
    
    2 回复  |  直到 15 年前
        1
  •  0
  •   Matt    15 年前

        2
  •  0
  •   Adam Robinson    15 年前

    是否确定在检查属性时已添加控件?这个 GroupBox 将子控件存储在 Controls 属性,就像任何其他容器控件一样。

    我真的不能开始猜测自定义控件。很明显,用你描述的行为创建一个控件是可能的,但是我无法理解其中的原因。只需创建一个示例Windows窗体项目并将两个按钮拖动到其中并调用 MessageBox.Show(groupBox1.Controls.Count.ToString()) 从另一个按钮显示 2

    根据你发布的 分组框 分组框 . 如果你检查 Parent 属性,值是多少?

    编辑2

    UserControl 包含你的习惯 分组框 用户控制 Form 把控制装置放在 分组框 用户控制 ;它不知道(或不关心)它包含一个 (首先,默认情况下,设计器无法访问该变量,您也不能,因为它是 private 除非明确更改修饰符)。

    确切地 用户控制 分组框