首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > C# >

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

2013-08-20 
一个窗体如何修改另一个窗体的宽高1、打开显示一个窗体1,点窗体1里面的页面设置,弹出窗体2,2、窗体2里填了两

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

热点排行