手动刷新一下,行不行啊?? this.refresh();

解决方案 »

  1.   

    你说的是C# 的windowform 吗?那改变它的size 时会马上生效呀,除非你没有执行过 this.ResumeLayout(false);贴你的代码出来瞧瞧
      

  2.   

    private void menuItem5_Click(object sender, System.EventArgs e)
    { System.Drawing.Rectangle rect = Screen.GetWorkingArea(this);
    int iWidth = rect.Width;
    int iHeight = rect.Height;
    this.Size = new Size(iWidth/2,iHeight);


    }
      

  3.   

    private void button1_Click(object sender, System.EventArgs e) {
    int iHeight = System.Windows.Forms.Screen.PrimaryScreen.WorkingArea.Size.Height;
    int iWidth = System.Windows.Forms.Screen.PrimaryScreen.WorkingArea.Size.Width;
    this.Size = new Size(iWidth/2,iHeight);
    }在我这正常,你的VS 是不是beta 版
      

  4.   

    我在普通的form里可以,我刚试过没问题。但是我想我的是MdiForm,就是不行,非要用鼠标双击一下才行!
      

  5.   

    我这里 win 2000  + vs.net 2003 
    也没有任何问题。
      

  6.   

    我说的是MDIForm,我刚试过普通的Form确实可以:(
      

  7.   

    我改成 MdiForm ,上面的代码也没有问题呀
      

  8.   

    不是MDIForm的问题,我的MDI处于最大化的时候不会生效,一但我手动改变MDIFORM的大小,在调用就生效了。怪!
      

  9.   

    处于最大化的时候确实不起作用。你可以在此之前多加一行代码,让先处于普通状态。private void menuItem2_Click(object sender, System.EventArgs e)
    {
    this.WindowState = 0;
    System.Drawing.Rectangle rect = Screen.GetWorkingArea(this); int iWidth = rect.Width;
    int iHeight = rect.Height;
    this.Size = new Size(iWidth/2,iHeight);
    }
      

  10.   


    form2.WindowState = FormWindowState.Normal再 new size 试试
      

  11.   

    this.WindowState = 0;是让它处于普通状态。