C# 载入窗体时,从中心放大动画 代码
时间: 2024-03-09 15:51:10 浏览: 83
在 C# 中实现窗体载入时从中心放大的动画效果,可以使用 `System.Windows.Forms.Timer` 控件和 `Graphics` 类的缩放方法。以下是实现该效果的代码示例:
```csharp
public partial class Form1 : Form
{
private float scale = 1.0f;
private Timer timer;
public Form1()
{
InitializeComponent();
this.StartPosition = FormStartPosition.CenterScreen; // 设置窗体在屏幕中央
this.timer = new Timer();
this.timer.Interval = 10;
this.timer.Tick += new EventHandler(timer_Tick);
this.timer.Start();
}
private void timer_Tick(object sender, EventArgs e)
{
if (scale < 1.0f)
{
scale += 0.1f; // 每次缩放 0.1 倍
this.Invalidate(); // 重绘窗体
}
else
{
this.timer.Stop(); // 动画结束,停止计时器
}
}
protected override void OnPaint(PaintEventArgs e)
{
base.OnPaint(e);
Graphics g = e.Graphics;
g.ScaleTransform(scale, scale); // 缩放窗体
}
}
```
在上面的代码中,我们定义了一个名为 `scale` 的变量,用于保存窗体的缩放比例;另外,我们创建了一个 `System.Windows.Forms.Timer` 控件,用于定时执行动画效果。在 `Form1` 的构造函数中,我们将计时器的 `Interval` 属性设置为 10 毫秒,每次执行 `timer_Tick` 方法时,窗体的缩放比例 `scale` 将增加 0.1 倍,直到达到 1.0 倍为止。我们在 `OnPaint` 方法中使用 `Graphics` 类的 `ScaleTransform` 方法进行窗体的缩放操作。最后,在 `Form1` 的构造函数中启动计时器,以开始动画效果。
阅读全文