一个窗体如何修改另一个窗体的宽高
1、打开显示一个窗体1,点窗体1里面的页面设置,弹出窗体2,
2、窗体2里填了两个textbox,分别为宽和高,假如是100,200,点窗体2的确定之后,如何吧(100,200)去修改窗体1的宽高呢?
[解决办法]
using System;
using System.ComponentModel;
using System.Windows.Forms;
namespace Test
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void button1_Click(object sender, EventArgs e)
{
Form2 f2 = new Form2();
f2.SizeChanged += SizeChangedHandler;
f2.ShowDialog();
}
private void SizeChangedHandler(object sender, SizeChangedEventArgs e)
{
this.Size = e.Size;
}
}
}
using System;
using System.ComponentModel;
using System.Windows.Forms;
using System.Drawing;
namespace Test
{
public partial class Form2 : Form
{
public delegate void AdjustSizeEventHandler(object sender, SizeChangedEventArgs e);
public event AdjustSizeEventHandler SizeChanged;
public Form2()
{
InitializeComponent();
}
private void button1_Click(object sender, EventArgs e)
{
//实际上为了程序健壮性,应对文本框输入的值作判断
//用NumericUpDown控件更好
OnSizeChanged(new SizeChangedEventArgs(int.Parse(textBox1.Text), int.Parse(textBox2.Text)));
this.Close();
}
private void OnSizeChanged(SizeChangedEventArgs e)
{
AdjustSizeEventHandler temp = SizeChanged;
if (temp != null)
SizeChanged(this, e);
}
}
public class SizeChangedEventArgs : EventArgs
{
public Size Size { get; private set; }
public SizeChangedEventArgs(Size size)
{
this.Size = size;
}
public SizeChangedEventArgs(int width, int height)
{
this.Size = new Size(width, height);
}
}
}