form1本来是500*300的;点击“详细信息”(button1),界面变成500*400的;再点一下,又恢复成500*300的请问button1里的代码怎么写啊?

解决方案 »

  1.   

    控件的Width属性代表宽,Height属性代表高;
    如果你是用两个按钮来控制,代码如下:
    //button1_Click
    form1.Height=400;//button2_Click
    form1.Height=300;如果你是用一个按钮来控制,就需要创建一个字段来表示状态:例如bool state=true;
    if(this.state==true)
    {
        form1.Height=400;
        this.state=false
    }
    else
    {
        form1.Height=300;
        this.state=true;
    }//或者也可以用下面的代码根据窗体的高度来判断
    if(this.Height==300)
        this.Height=400;
    else
        this.Height=300;
      

  2.   

    只能用this.Height this.Width 来改变高度和宽度,不能用Form1.Height,Form1.Width来改变。
      

  3.   

    不行,我就是这么试的
    提示说:不可访问“System.Windows.Forms.Control.Height”,因为它受保护级别限制后来我又改成
    Form1 a=new Form1();
    a.Height=400;
    虽然执行了,但是没变化,还是300
      

  4.   

    可以这样试试:
    public Form1 : System.Windows.Form
    {
        private int CurrentHeigt;
        public Form1()
        {  
           ...
           this.CurrentHeigth = this.Height;//Height = 300
           NewHeigth = 400;
           ...
        }
        private void btnDetails(object sender,System.EventArgs e)
        {
           if(this.Height == CurrentHeight)
           {  
               ....
               this.Height = height;
               ....
            }
            else this.Height = currentHeight;
          
         }
    }
      

  5.   

    if(this.Height==300)
        this.Height=400;
    else
        this.Height=300;
      

  6.   

    更正:
    可以这样试试:
    public Form1 : System.Windows.Form
    {
        private int CurrentHeight;
        private int NewHeight
        public Form1()
        {  
           ...
           this.CurrentHeigth = this.Height;//Height = 300
           NewHeigth = 400;
           ...
        }
        private void btnDetails(object sender,System.EventArgs e)
        {
           if(this.Height == CurrentHeight)
           {  
               ....
               this.Height = NewHeight;
               ....
            }
            else this.Height = CurrentHeight;
          
         }
    }
      

  7.   

    后来我又改成
    Form1 a=new Form1();
    a.Height=400;
    虽然执行了,但是没变化,还是300==
    界面没有重绘?
      

  8.   

    private bool click=true; private void btnDetails_Click(object sender, System.EventArgs e)
    {
    if(click)
    {
    this.Size=new System.Drawing.Size(390,288);
    this.click=false;
    }
    else
    {
    this.Size=new System.Drawing.Size(390,160);
    this.click=true;
    }

    }
      

  9.   

    初始化为
    this.ClientSize = new System.Drawing.Size(384, 263);