请问 C#环境下如何通过对PictureBox继承产生一个新的控件,具体要求新的控件上方为PictureBox,PictureBox下方为Label,PictureBox和Label位置绑定!PictureBox保持原PictureBox和Label的属性基本不变。

解决方案 »

  1.   

    添加用户控件...也就是继承 UserControl 你可以放一个PictureBox 下面放一个Label
      

  2.   

    从UserControl继承的话要写的东西好像比较多,包括控件的移动、相对位置、大小改变等方面的考虑,这方面不是很熟悉,不知道各位高人能否指点迷津。另外,不知道是否可以直接从PictureBox继承产生新类,在新的类中增加Label控件来实现!如果可以的话希望能给个思路或者方法!
    最近新接触VS开发平台,很多东西用起来不太适应,希望大家指教!
      

  3.   

    继承PictureBox只能写picture控件和写自定义方法
    这种多控件还是要写两个或用用户控件
      

  4.   

    UserControl 移动、相对位置、大小改变等方面 和PictureBox没什么不同的.
      

  5.   

    这是组合控件组合PicutreBox和Label
      

  6.   

    添加用户控件然后给这个空间加上一个PicutreBox和一个Label
      

  7.   

    class LabelPicture:PictureBox
        {
            Label label;
            public   LabelPicture()
            {
                label = new Label();
                label.Text = "label";
                label.TextAlign = System.Drawing.ContentAlignment.MiddleCenter;
                label.BackColor = System.Drawing.Color.Transparent;
                fitLabelText();
                this.Controls.Add(label);
            }
            private void fitLabelText()
            {
                label.Top = this.Height - label.Height;
                label.Left = (this.Width - label.Width) / 2;
            }        public override void Refresh()
            {
                fitLabelText();
                base.Refresh();
            }        protected override void OnSizeChanged(EventArgs e)
            {
                fitLabelText();
                base.OnSizeChanged(e);
            }
            public string LabelText
            {
                get { return label.Text; }
                set
                {
                    label.Text = value;
                    this.Refresh();
                }
            }        public Color LabelColor
            {
                get { return label.ForeColor; }
                set { label.ForeColor = value; }
            }
        }
    你可根据你具体的要求,添加相应的一些内容.
      

  8.   

    谢谢了!先通过UserControl生成了一个组合控件,用起来基本能满足要求了!h_w_king的方法是我原本想要的效果,实现起来类似于Delphi下的开发,谢谢!