效果在C#.net中显示面板

时间:2010-02-24 12:41:10

标签: c# .net winforms graphics

我想在C#.net中使用 Windows窗体中的面板。我将此控件的可见属性设置为false,当我单击按钮时,将显示Panel。我希望通过一些效果展示一个小组。

请帮帮我

2 个答案:

答案 0 :(得分:4)

你要离开我们猜测你正在寻找什么样的效果。我会随意选择一个崩溃并扩大效果。它需要一个Timer,你在Tick事件处理程序中实现效果。这是一个例子,它需要一个Panel,Timer和Button:

  public partial class Form1 : Form {
    public Form1() {
      InitializeComponent();
      timer1.Interval = 16;
      timer1.Tick += new EventHandler(timer1_Tick);
      panel1.BackColor = Color.Aqua;
      mWidth = panel1.Width;

    }
    int mDir = 0;
    int mWidth;
    void timer1_Tick(object sender, EventArgs e) {
      int width = panel1.Width + mDir;
      if (width >= mWidth) {
        width = mWidth;
        timer1.Enabled = false;
      }
      else if (width < Math.Abs(mDir)) {
        width = 0;
        timer1.Enabled = false;
        panel1.Visible = false;
      }
      panel1.Width = width;
    }

    private void button1_Click(object sender, EventArgs e) {
      mDir = panel1.Visible ? -5 : 5;
      panel1.Visible = true;
      timer1.Enabled = true;
    }
  }

答案 1 :(得分:2)

我能想到的唯一效果是通过使用计时器扩展面板并逐步更改面板的大小。

我建议你使用WPF而不是Winforms,它非常擅长做这种事情。您可以为控件的所有属性设置动画,例如位置,大小,alpha。请查看WPF动画上的这些文章