我是用A窗体控制B窗体的大小和位置的,
在B窗体写了方法,
public void GSize(int x,int y, int width, int height)
{ this.Size=new Size(width,height);
this.Location=new Point(x,y);
}
在A窗体进行调用private void button1_Click(object sender, System.EventArgs e)
{

              ChildWindows frm=new ChildWindows();

frm.Show();


    string x1=this.textBox1.Text;
string y1=this.textBox3.Text;
string height1=this.textBox2.Text;
string width1=this.textBox4.Text;
            int x=Convert.ToInt32(x1);
    int y=Convert.ToInt32(y1);
    int height=Convert.ToInt32(height1);
    int width=Convert.ToInt32(width1);
    frm.GSize(x,y,width,height);
this.Close();
}
这么写代码出现了个问题,就是每次点击BUTTON的时候B窗口是改变位置和大小了,但是原来的那个窗口还在,怎么才能就只有新的窗口呢

解决方案 »

  1.   

    将新窗口关闭掉.
    当结束于Button.click的时候.就可以了.
      

  2.   

    ChildWindows frm=new ChildWindows();

    frm.Show();因为你每点击一下button,就创建一个新的窗体。
      

  3.   

    加一个类变量private ChildWindows frm=new ChildWindows();
    不显示新窗体则去掉   ChildWindows frm=new ChildWindows();frm.Show(); 直接调用frm.GSize(x,y,width,height);
    要显示新窗体 则
    frm.Close();
    ChildWindows frm=new ChildWindows();自己没试 你试试看
      

  4.   

    这样可以吗?
    你把:ChildWindows frm=new ChildWindows();
    改为:
    ChildWindows frm;声明成全局所有的,然后在你写的button1_Click事件中这样:
    if(frm != null)
    {
       frm.Show();
        string x1=this.textBox1.Text;
    string y1=this.textBox3.Text;
    string height1=this.textBox2.Text;
    string width1=this.textBox4.Text;
                int x=Convert.ToInt32(x1);
        int y=Convert.ToInt32(y1);
        int height=Convert.ToInt32(height1);
        int width=Convert.ToInt32(width1);
        frm.GSize(x,y,width,height);
    this.Close();
    }
    else
    { frm=new ChildWindows();frm.Show();
        string x1=this.textBox1.Text;
    string y1=this.textBox3.Text;
    string height1=this.textBox2.Text;
    string width1=this.textBox4.Text;
                int x=Convert.ToInt32(x1);
        int y=Convert.ToInt32(y1);
        int height=Convert.ToInt32(height1);
        int width=Convert.ToInt32(width1);
        frm.GSize(x,y,width,height);
    this.Close();
    }
    大概这样应该可以