我是用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窗口是改变位置和大小了,但是原来的那个窗口还在,怎么才能就只有新的窗口呢
在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窗口是改变位置和大小了,但是原来的那个窗口还在,怎么才能就只有新的窗口呢
当结束于Button.click的时候.就可以了.
frm.Show();因为你每点击一下button,就创建一个新的窗体。
不显示新窗体则去掉 ChildWindows frm=new ChildWindows();frm.Show(); 直接调用frm.GSize(x,y,width,height);
要显示新窗体 则
frm.Close();
ChildWindows frm=new ChildWindows();自己没试 你试试看
你把: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();
}
大概这样应该可以