2016-09-29 4 views
-1

두 폼 form1과 form2가 있습니다. form2를 form2에서 숨기려고합니다. 어떻게 수행하나요?
form2에서 프로세스를 끝내지 않으면 form1을 숨기고 싶지 않습니다. form2에서 프로세스가 끝나면 form1이 닫히고 숨겨집니다.현재 폼에서 다른 폼 숨기기 방법 C#

아래 코드는 작동하지 않습니다. . .

 Form1 Frm = new Form1(); 
     Frm.Hide(); 

또는

 Form1 Frm = new Form1(); 
     Frm.Visible = false; 
+0

새 양식을 만들어서는 안됩니다. 대신 존재하는'form1'을 숨겨야합니다. 'form1'이 당신이 숨길 필요가있는 폼의 인스턴스를 가르키는 변수 인 것으로 가정하면, 단지'form1.Hide()'처럼 할 수 있습니다. –

+0

의견을 주셔서 감사합니다. 그것을 숨기는 방법? 만약 form2에 메신저? Form1.Hide();를 직접 넣을 수는 없습니다. –

+0

분명히, 'Form1'은 폼 클래스의 이름입니다. 그러나 당신의'form2'에서 사용할 수있는 클래스 (폼 자체)의 인스턴스가 있습니까? 제공하신 코드는 그것에 대한 가정을하기에 충분하지 않습니다. 좀 더 관련성 높은 코드를 보여줄 수 있습니까? –

답변

0

당신은 Application.OpenForms 모음을 사용하여 거기에 열려있는 양식을 발견하고 그 위에 .Hide() 메소드를 호출해야합니다.

+0

대단히 감사합니다. 이 질문을 닫을 수 있습니다. 감사 –

0

이 코드를 사용했는데 작동합니다. 고마워요 @ PedroLuz!

var frm = Application.OpenForms.Cast<Form>().Where(x => x.Name == "Form1").FirstOrDefault(); 
       if (null != frm) 
       { 
        frm.Hide(); 
       }