获取当前活动子窗体使用鼠标滚轮事件改变窗体大小,实例在文末,可下载。
这个主要分三个重点
第一步
我们需要让子窗体显示在父窗体中
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(方法名字要与构造函数中添加的相同,具体是什么,看你心情)
/// <summary>/// 鼠标滚轮事件/// </summary>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;}}}
最后效果:
以上的代码基本上就实现了鼠标滚轮事件缩放子窗体的操作
有好的建议,请在下方输入你的评论。