读书人

一个窗体怎么修改另一个窗体的宽高

发布时间: 2013-08-20 17:47:51 作者: rapoo

一个窗体如何修改另一个窗体的宽高
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);
}
}
}

读书人网 >C#

热点推荐