设置两个窗体frm1,frm2,frm1启动,先Opacity=0,(因为Hide无效,或我用错),frm2.Show(),frm2用timer1控制逐渐显示,待全部显示后Close,frm1.Opacity=1却不好用,frm1根本不显示,求解决方案。

解决方案 »

  1.   

    你先启动frm2,在frm2退出前再起动frm1不好么?
      

  2.   

    楼上的是一种方法.按楼主的想法,可在两个类中分别加两个public属性就可以.
                      在frm1中
    private void button4_Click(object sender, System.EventArgs e)
    {
    this.Opacity = 0;
    frm2 f1 = new frm2();//逐渐显示的窗体
    f1.F = this;
    f1.Show();
    }
    /// <summary>
    /// 透明度
    /// </summary>
    public int Opacity
    {
    set
    {
    this.Opacity = value;
    }
    }
    在frm2中: public Form F
    {
    set
    {
    form = value;
    }
    get
    {
    return form;
    }
    }
    private Form form;                   private void button1_Click(object sender, System.EventArgs e)
    {
    F.Opacity = 1;
    this.Dispose();
    }
    这样就可以了.