none
c#全屏显示子窗体想把子窗体的标题栏去掉第一次显示子窗体还闪一下 RRS feed

  • 问题

  • 大家好,我的程序框架是这样的,主窗体是一个MDI窗体,在主窗体中我放置了一排toolstripbotton按钮,我在toolstripbotton的click事件中写到:

    form2.formborderStyle = none;

    form2.MdiParent = this;
    form2.Dock = DockStyle.Fill;
     form2.Show();

    但是点击按钮后,子窗体总是先显示标题栏,然后才隐藏的标题栏,很难看,我听说在form_paint事件中写一些东西可以解决这个问题,但我不会写,大家有没有好的办法。

          

           

    2010年4月10日 8:43

答案

全部回复

  • 大家好,我点击父窗体中的toolstripbotton后想让子窗体(子窗体的formborderstyle=none)全屏显示,我的方法是:

               form2.MdiParent = this;
                form2.Dock = DockStyle.Fill;
                form2.Show();

    但效果是全屏是可以全屏,但是子窗体出现时总是先将标题栏显示出来,然后才去掉标题栏,也就是说标题栏会闪一下,请问这个问题如何解决?谢谢大家了。

     

    2010年4月10日 9:03
  • 同问,我也遇到了。记号。
    2010年4月10日 12:44
  • Hi,

    不是很理想办法之一,但相信还有更好的方法.

            private void ShowNewForm(object sender, EventArgs e)
            {
                Form childForm = new Form();
                childForm.MdiParent = this;
                childForm.Text = "Window " + childFormNumber++;
                childForm.Dock = DockStyle.Fill;
                childForm.Load += new EventHandler(childForm_Load);
                childForm.Show();
                //然后用Timers使它Visible=true和false几次
    } void childForm_Load(object sender, EventArgs e) { DrawForm((Form)sender); } private void DrawForm(Form form) { GraphicsPath gp = new GraphicsPath(); gp.AddRectangle(new Rectangle(0, 30, form.Width, form.Height)); form.Region = new Region(gp); }

     

    2010年4月10日 16:04
  • 大家好,如何解决MDI子窗体全屏闪烁标题栏的问题?
    2010年4月14日 11:56
  • Mdi子窗体全屏显示,如何让子窗体显示时直接去掉标题栏,而不是先将标题栏显示出来再去掉?谢谢大家了
    2010年4月15日 1:48
  • 你好!

    尝试让子窗体以最大化的方式打开。

    方法:设置子窗体的 WindowState = Maximized

    或者设置 FormBorderStyle = None


    知识改变命运,奋斗成就人生!
    2010年4月15日 1:55
    版主
  • 小勇哥,您说的这些恰恰是我的问题所在,这让设置窗体属性后,会闪烁子窗体标题栏的
    2010年4月15日 2:45
  • 你好!

    我试了下,发现在打开第二个窗体时的确会闪。这是控件形为,我觉得你不用去管它。


    知识改变命运,奋斗成就人生!
    2010年4月15日 6:18
    版主
  • 不仅仅是第二个窗体,每一个子窗体都会闪,小勇,如果自己画一个无标题的窗体,这种方法可行吗?我的QQ529565265,可以加QQ说吗,我很急的,谢谢你了
    2010年4月15日 6:39
  • 我试过了,无标题的也不行。
    知识改变命运,奋斗成就人生!
    2010年4月15日 6:42
    版主
  • 设置窗体的widowsState属性为max即可
    2010年4月15日 7:54
  • 晕,设置为Max也根本解决不了问题,这样就可以自己把自己标为答案了啊?
    2010年4月19日 14:44