C#子窗体中有个返回按钮 在点击返回按钮后回到主窗体上 子窗体关闭

时间:2022-03-23 23:51:21
很有不解 private void button2_Click(object sender, EventArgs e)
        {
            this.Close();
            公交查询系统.
        }
    }
show不出来了  主窗体叫做公交查询系统

12 个解决方案

#1


楼主的意思是 点击返回执行this.Close() 然后再要show就show不出来了?

#2


该回复于2012-12-08 14:12:24被管理员删除

#3



/// <summary>
        /// 关闭父窗体,打开子窗体
        /// </summary>
        /// <param name="parent"></param>
        /// <param name="child"></param>
        public void StartChildFormCloseParentForm(Form parent,Form child) {

            new System.Threading.Thread((System.Threading.ThreadStart)delegate
            {
                Application.Run(child);
            }).Start();
            parent.Close();
        
        }

#4


引用 1 楼 ducker3590 的回复:
楼主的意思是 点击返回执行this.Close() 然后再要show就show不出来了?

是啊 搞不懂了

#5


引用 3 楼 kunkun0921 的回复:
C# code?



12345678910111213141516

/// <summary>         /// 关闭父窗体,打开子窗体         /// </summary>         /// <param name="parent"></param>         /// <param name="child"></param>         publi……

没有用继承  不是父子窗体的关系

#6


代码部分完整的贴出来看看

#7


你实在不行的话,子窗体就用SHOWDIOAG的方式弹出,返回就执行关闭按钮就是了,这样自然就显示主窗体了~~~

#8


1.ShowDialog();
2.开启线程关闭窗体打开另一窗体

  public Form form;
  public void OpenChildForm()
  {
     Thread thread = new Thread(showform);
     thread.IsBackground = false;
     thread.SetApartmentState(ApartmentState.STA);
     thread.Start();
   }
   void showform()
   {
     Application.Run(form);
   }
 form =new 你的窗体();
 OpenChildForm();
 this.Close();

#9


自己已经解决了  谢谢大家的帮助 都给分的

#10


lz贴点代码

#11


引用 10 楼 hjywyj 的回复:
lz贴点代码

new 一下主窗体 然后在show

#12


那如果要关闭子窗口,回到之前那个主panel,要怎么写?

#1


楼主的意思是 点击返回执行this.Close() 然后再要show就show不出来了?

#2


该回复于2012-12-08 14:12:24被管理员删除

#3



/// <summary>
        /// 关闭父窗体,打开子窗体
        /// </summary>
        /// <param name="parent"></param>
        /// <param name="child"></param>
        public void StartChildFormCloseParentForm(Form parent,Form child) {

            new System.Threading.Thread((System.Threading.ThreadStart)delegate
            {
                Application.Run(child);
            }).Start();
            parent.Close();
        
        }

#4


引用 1 楼 ducker3590 的回复:
楼主的意思是 点击返回执行this.Close() 然后再要show就show不出来了?

是啊 搞不懂了

#5


引用 3 楼 kunkun0921 的回复:
C# code?



12345678910111213141516

/// <summary>         /// 关闭父窗体,打开子窗体         /// </summary>         /// <param name="parent"></param>         /// <param name="child"></param>         publi……

没有用继承  不是父子窗体的关系

#6


代码部分完整的贴出来看看

#7


你实在不行的话,子窗体就用SHOWDIOAG的方式弹出,返回就执行关闭按钮就是了,这样自然就显示主窗体了~~~

#8


1.ShowDialog();
2.开启线程关闭窗体打开另一窗体

  public Form form;
  public void OpenChildForm()
  {
     Thread thread = new Thread(showform);
     thread.IsBackground = false;
     thread.SetApartmentState(ApartmentState.STA);
     thread.Start();
   }
   void showform()
   {
     Application.Run(form);
   }
 form =new 你的窗体();
 OpenChildForm();
 this.Close();

#9


自己已经解决了  谢谢大家的帮助 都给分的

#10


lz贴点代码

#11


引用 10 楼 hjywyj 的回复:
lz贴点代码

new 一下主窗体 然后在show

#12


那如果要关闭子窗口,回到之前那个主panel,要怎么写?