有一支程序,包含 一个主窗体(MainForm),多个子窗体(childForm1,childForm2...),当按TAB+ALT切换时,MainForm,childForm1,childForm2...都出现在了,我想这时只看到MainForm图标,不知有什么办法?请指点!
我不相设childForm1,childForm2...的属性visible为false;

解决方案 »

  1.   

    有一支程序,包含 一个主窗体(MainForm),多个子窗体(childForm1,childForm2...),
    当按TAB+ALT切换时,MainForm,childForm1,childForm2...都出现在了,
    我想这时只看到MainForm图标,不知有什么办法?请指点! 我不设childForm1,childForm2...的属性visible为false; 
      

  2.   

    部分解决你的问题(子窗体会同主窗体有稍微不同)    public partial class Form2 : Form
        {
            public Form2()
            {
                InitializeComponent();
                this.ShowInTaskbar = false;                                       //<--加这两句
                this.FormBorderStyle = FormBorderStyle.SizableToolWindow;         //<--
            }
            //...
        }
    经过Vista下测试
      

  3.   

    当子窗体在激活状态时,tab+alt还是会出现两个图标
      

  4.   

    我刚刚在WinXp以及Vista都试了一下,ALT-TAB是一个主窗体图标。
    那两句是要加在你所有的子窗体中的。
      

  5.   

    还是一样的,只要有任何一个子窗体在激活状态,而主窗体不在激活状态,tab+alt还是会出现两个图标
      

  6.   

    childForm1.Owner = MainForm ;
    主窗体 -- 子窗体的關系
      

  7.   

    这样吧,给你个简化的版本,你把它改到出现你说的问题,再贴出来大家看看。namespace WindowsApplication1
    {
        public partial class Form1 : Form
        {
            Form f2 = new Form();
            public Form1()
            {
                InitializeComponent();
                f2.Text = "child window";
                f2.Owner = this;
                f2.FormBorderStyle = FormBorderStyle.SizableToolWindow;
                f2.ShowInTaskbar = false;
                f2.Show();
            }
        }
    }
      

  8.   

    namespace WindowsApplication1
    {
        public partial class Form1 : Form
        {
            Form f2 = new Form();
            Form f3 = new Form();
            public Form1()
            {
                InitializeComponent();
                this.Opacity = 0d;                   // 加入
                this.ShowInTaskbar = true;         
                f3.Text = "child window";
                f3.Owner = this;
                f3.FormBorderStyle = FormBorderStyle.Sizable;    
                f3.ShowInTaskbar = false;
                f3.Show();            f2.Text = "child window";
                f2.Owner = this;
                f2.FormBorderStyle = FormBorderStyle.SizableToolWindow;
                f2.ShowInTaskbar = false;
                f2.Show();
            }
        }
    }
    因为我要的子窗体中一定要有一个是Sizable样式,而主窗体会隐藏掉;
      

  9.   


    public Form2()
    {
      InitializeComponent();
      this.ShowInTaskbar = false;                                       //<--加这两句
      this.FormBorderStyle = FormBorderStyle.SizableToolWindow;         //<--
    }
    1、你如果改动了this.FormBorderStyle关键句,应该早些告诉大家,以免我瞎忙,猜测可能的情况。
    2、SizableToolWindow式样会有稍许不同,我回复中的第一句话就说清楚了。
    3、你的需求就我的理解很特殊,你不改思路的话可能你要多花些时间琢磨了。
      

  10.   

    我也觉的有点特殊,但是公司老板要这样的效果,我也是没办法的了...
    要MDI和SDI共同,相互兼容;