繁体   English   中英

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

[英]Effect To Show Panel in C#.net

我想在C#.net的Windows窗体中使用面板。 我将此控件的可见属性设置为false,然后单击按钮,显示面板。 我想以某种效果展示一个面板。

请帮我

您让我们猜测您正在寻找什么样的效果。 我将随意选择折叠和扩展效果。 它需要一个Timer,您可以在Tick事件处理程序中实现效果。 这是一个示例,它需要一个面板,计时器和按钮:

  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;
    }
  }

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

我建议您使用WPF代替Winforms,因为它非常擅长执行此类操作。 您可以设置控件的所有属性的动画,例如位置,大小,alpha。 请检查有关WPF动画的这些文章

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM