做了个控件,继承Panel,功能都实现,但拖到界面上的时候占很大一块区域,
我想能不能在拖到界面的时候让他很小或者在底栏那里出现控件,
没什么思路,望大家帮忙想想

解决方案 »

  1.   

    动态生成 设置Size Location  试试
      

  2.   

    在程序的最后加个
    panel1.Size = new Size(10, 20);
    this.Size = new System.Drawing.Size(10, 20);
      

  3.   

    控件的构造函数里面设置Size就可以了。此外, 为了让Size属性的Reset方法不受影响, 
    你的override一下Size属性。
    然后加个DefaultValue的标签。大概应该是这样:
    [DefaultValue()]// 里面填写你的值
    public override Size Size
      

  4.   

    纯Component才会在底下出现。
    例如Timer。Control不行。你继承自Panel, 所以已经是Control了。
      

  5.   

     public SetNum()
            {
                
             
                this.Size = new System.Drawing.Size(2, 2);
           
               
            }
      

  6.   

     public class MyPanel:Panel
        {
            public MyPanel()
                :base()
            {
                this.Size = new System.Drawing.Size(300, 200);
            }
        }
    }
      

  7.   

    楼上 不可以啊 我拖进窗口的时候 pannel还是那么大 郁闷啦
      

  8.   

    public class PanelTest : System.Windows.Forms.Panel
        {
            public PanelTest()
                : base()
            {
            }        protected override System.Drawing.Size DefaultSize
            {
                get
                {
                    return new System.Drawing.Size(50,50);
                }
            }
        }
      

  9.   

    楼上 抱错 
    错误 1 “System.Windows.Forms.Control.Size.get”未标记为 virtual、abstract 或 override,无法进行重写
      

  10.   

    看清楚了,不是Size,是DefaultSize
      

  11.   

    错误 1 “qcrsoft.MFramework.Forms.SetNum.DefaultSize”: 没有找到适合的方法来重写 E:\wfTet\qcrsoft.MFramework.Forms\SetNum.cs 43 48 qcrsoft.MFramework.Forms
    我开发的是windows mobile 控件 不知道和这个有关系没