什么?你写的文字看得真累,能详细描述吗?
我理解是否是窗体调整大小,里面的控件也跟着调整显示比例吗?但是这样做是否可用,比如本来窗体800*400, 如果是非比例缩放为100*4000, 控件调整后显示会...
实现可以用protected override OnResize()中写入当控件大小变化后的你希望的控制代码

解决方案 »

  1.   

    用控件的scale方法
    缩放控件和任何子控件。重载列表
    将控件和任何子控件按指定比率缩放。[Visual Basic] Overloads Public Sub Scale(Single)
    [C#] public void Scale(float);
    [C++] public: void Scale(float);
    [JScript] public function Scale(float);
    按指定的垂直和水平比率缩放控件和任何子控件。[Visual Basic] Overloads Public Sub Scale(Single, Single)
    [C#] public void Scale(float, float);
    [C++] public: void Scale(float, float);
    [JScript] public function Scale(float, float);
      

  2.   

    gdx(灵犀) 实际上我需要实现的就是:   对一个窗体中的某个控件集下了所有的控件动态的控制他们的显示大小,但该控件集下了所有控件的显示比例不变。
    能看懂了把!
      

  3.   

    请问我该怎样得到窗口下的所有控件呢?
    foreach(System.Windows.Forms.Control tr in this.prin_prew.Controls)
    {
    tr.Scale(0.9F);
    }我这样写却提示错误!!!!
      

  4.   

    blueoutlander:
    还是不明白,什么叫一个窗体中的某个控件集下了? 显示大小如宽度高度都变了,何来显示比例不变?还是修改显示比例来控制宽度高度?zdy319:
    如果是800*600的对话框scale到1024*768下不失真才怪,这和图片是一个道理.
    你不如设置Dock属性,并在你可能改变的控件的容器如Panel设置其ONRESIZE()方法调整大小vikey,dubudui:
    anchor?这谁能明白,并不是所有人都是如各位的高手!
      

  5.   

    我动态的把很多lable放到一个窗体中。
    现在我需要获取我放到这个窗体中的所有label,请问该怎么做?foreach(System.Windows.Forms.Control tr in this.prin_prew.Controls)
    {
    tr.Scale(0.9F);
    }
    这样不行
      

  6.   

    1.Scale方法是将Control的Top, Left, Width, Height都同比例改变
    2.如果只是缩放Lable,那可以用
      foreach(Control c in this.prin_prew.Controls){
         if(c is YourLabelControl){
             c.Scale(0,9f);
          }
      }
      

  7.   

    提示错误, 没有你的代码, 不知你的prin_prew是否是窗体, 会不会是this.Controls, this代表本类 : Form, 如果还是不行,请贴出错误提示
      

  8.   

    foreach(Control c in this.prin_prew.Controls)
                          -----------------------   这一句报错错误提示:其他信息:未将对象引用设置到对象的实例。prin_prew 是我自己做的一个自定义控件。 在prin_prew里面有很多我用代码循环生成的label.现在我是把prin_prew在一个form里面生成了一个实例,并把它显示出来.
    我最终需要实现的是实现print_prew的放大缩小(但里面的label需要同时防大缩小)
      

  9.   

    你直接使用print_prew.scale()试试
      

  10.   

    1.你的prin_prew是否为空,末初始化, 可以用Debug.Asset(prin_prew == null)?
    2.prin_prew是否从Control继承
    3.使用prin_prew.scale方法应可以实现prin_prew的缩放.从错误看,可能是1, prin_prw.Controls为空对象
      

  11.   

    我直接用prin_prew.scale不行!
    更刚才的提示一样!