양식에서 전역 변수로 선언하고 응용 프로그램에서 해당 변수를 사용하고 싶습니다. 나는 아래의 메소드를 사용하여 앱 양식에 액세스하고 싶지 않습니다.글로벌 양식 선언
Form1 myForm = new Form1();
누구나 알 수 있나요?
감사
양식에서 전역 변수로 선언하고 응용 프로그램에서 해당 변수를 사용하고 싶습니다. 나는 아래의 메소드를 사용하여 앱 양식에 액세스하고 싶지 않습니다.글로벌 양식 선언
Form1 myForm = new Form1();
누구나 알 수 있나요?
감사
양식을 Singleton으로 만들고 싶습니다. 이것은 내가 좋아하는 패턴이 아니지만 글로벌 패턴보다 우수합니다.
양식을 숨기거나 닫지 않는 한 싱글 톤이 수행합니다. 그러나 실제로, 세계보다 낫다. –
헨크 말이 맞습니다. 닫기를 호출하면 양식이 삭제 될 것이므로 다시 표시하려면 다시 작성해야한다는 것을 의미합니다. 이는 싱글 톤의 목적을 무효화합니다. 나는 전체 아이디어가 좋지 않을 수도 있음을 시사하는 다른 포스터에 동의하지만 좋은 이유가 있다면 할 수 있습니다. –
내 방법은 정적 변수를 Form1이 정적 클래스를 선언한다.
public static class Global
{
private static Form1 myForm = new Form1();
public static bool Show()
{
myForm.Show();
}
public static bool Hide()
{
myForm.Close();
}
}
좋지 않니?
그렇지 않습니다. 이 코드는 사용자가 양식을 닫을 때 폭탄을 터뜨립니다. 사용자가 양식을 닫지 못하게하면 영구 메모리 누출이됩니다. 왜 이것을 필요로합니까? –
Close()는 양식을 삭제하기 때문에 절대 호출하지 않아야합니다. –
nobugz : 내가 원할 때마다 내가 보여주기/숨기기 Form1을 원하기 때문에 필요하다. 제이슨 : 고마워, 나는 숨기기 위해 바뀌었다. – Sadegh
왜 안 되니? _______ – Nifle
아이디어가 있습니다. 그러지 마. 전역 변수는 악합니다. – Marek
달성하려는 목표는 무엇입니까? 전체 양식을 글로벌하게 만드는 것보다 더 좋은 방법 일 것입니다. – keyboardP