获取当前活动子窗体使用鼠标滚轮事件改变窗体大小,实例在文末,可下载。
这个主要分三个重点
第一步
我们需要让子窗体显示在父窗体中
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;
}
}
}
最后效果:
以上的代码基本上就实现了鼠标滚轮事件缩放子窗体的操作
有好的建议,请在下方输入你的评论。