C#WinForm获取当前活动子窗体使用鼠标滚轮事件改变窗体大小

获取当前活动子窗体使用鼠标滚轮事件改变窗体大小,实例在文末,可下载。

这个主要分三个重点

第一步

我们需要让子窗体显示在父窗体中

Form22 = new Form2();
Form22.TopLevel = false; // 不是顶级窗体
//Form22.Parent = this;// 设置父窗体  一定不要加这句话
Form22.BringToFront();
Form22.MdiParent = this; // 指定父窗体
Form22.Location = new Point(5, 5);//5,100就是你指定的位置
Form22.Show(); // 显示
 
Form33 = new Form3();
Form33.TopLevel = false; // 不是顶级窗体
Form33.BringToFront();
Form33.MdiParent = this; // 指定父窗体
Form33.Location = new Point(50, 50);//5,100就是你指定的位置
Form33.Show(); // 显示

注意:一定不要加这句话,否则获取不到当前活动窗体

Form22.Parent = this;// 设置父窗体

第二步获取当前活动窗体:

// 获取当前活动窗体
if (this.ActiveMdiChild is Form2)
{}
Else if(this.ActiveMdiChild is Form3)
{}

第三步添加鼠标滚轮事件

在构造函数中添加:

// 添加滚轮事件
MouseWheel += new MouseEventHandler(Form1_MouseWheel);

然后在其下添加方法Form1_MouseWheel(方法名字要与构造函数中添加的相同,具体是什么,看你心情)

 
       /// 
        /// 鼠标滚轮事件
        /// 
        public void Form1_MouseWheel(object sender, MouseEventArgs e)
        {
            // 获取当前活动窗体
            if (this.ActiveMdiChild is Form2)
            {
                if (e.Delta > 0)
                {
                    Form22.Width += 5;
                    Form22.Height += 5;
                }
                if (e.Delta < 0)
                {
                    Form22.Width -= 5;
                    Form22.Height -= 5;
                }
            }
            else if (this.ActiveMdiChild is Form3)
            {
                if (e.Delta > 0)
                {
                    Form33.Width += 5;
                    Form33.Height += 5;
                }
                if (e.Delta < 0)
                {
                    Form33.Width -= 5;
                    Form33.Height -= 5;
                }
            }
        }

最后效果:

C#WinForm获取当前活动子窗体使用鼠标滚轮事件改变窗体大小_第1张图片

以上的代码基本上就实现了鼠标滚轮事件缩放子窗体的操作

有好的建议,请在下方输入你的评论。

C#WinForm获取当前活动子窗体使用鼠标滚轮事件改变窗体大小_第2张图片

 

 

你可能感兴趣的:(c#)