2016-09-16 4 views
0

이 질문에 대한 질문이 이미 있으면 사과드립니다. 현재 시작 폴더에 있습니다 만 부모 서식을 열지 않기 위해 사용할 코드를 모르겠습니다. 내 vb.net 응용 프로그램을 시작할 때 열 수 있지만 백그라운드에서 열려면 사용자가 로그인 할 때 방해가되지 않도록하십시오. 어떻게 설정해야합니까?백그라운드에서 시작시 응용 프로그램이 열림

+0

앱이 처음부터 숨겨져 있다면 나중에 사용자가 볼 수 있습니까? 알림 바에 뭔가가 있습니까? 그것에 대해 생각해보십시오. 나는 @FloatingKiwi 대답으로가는 것이 좋습니다 것입니다. 그러나 프로그램 인수에 대한 검사를 추가하고 "숨김"인수가 존재하면 숨겨진 모드로 응용 프로그램을 시작할 것입니다 (시작 폴더에서 "숨겨진"인수가있는 바로 가기를 넣으십시오).) –

답변

0

양식이 보이지 않게하려면 (그러나 여전히 자체적으로 양식이 작성되지 않도록) 양식의 다음 코드를 덮어 쓸 수 있습니다.

Protected Overrides Sub SetVisibleCore(value As Boolean) 
    MyBase.SetVisibleCore(False) 
End Sub 

이것은 항상 양식을 숨 깁니다. 분명히 그것이 당신이 사용하고자하는 어떤 기준에 표시되도록하려면 true로 전달하십시오.

이 접근 방식에서는 ui + 로직을 분리하기 위해 응용 프로그램을 재구성 할 필요가 없습니다.

+0

감사합니다. @FloatingKiwi 이것은 내가 찾고 있었던 일종의 대답입니다. 이 하위 기능을 사용하는 또 다른 빠른 질문은 바탕 화면 바로 가기에서 열려고 할 때도 양식을 숨 깁니다. 바로 가기에서 양식을 열 수있는 코드를 알고 있습니까? 당신이 대답 할 수 있다면 당신의 대답은 받아 들여질 것입니다. 감사합니다 –

+0

나는 명령 줄 매개 변수를 사용하여 그것을 할거야. 시작 바로 가기에서/hideui를 사용하십시오. 그런 다음 응용 프로그램은'Command()'의 값을 검사하고'MyBase.SetCoreVisible'에 전달할 항목을 결정할 수 있습니다. – FloatingKiwi

0

봅니다 초기화 코드를 추가 한 후, 새 모듈에 sub Main 함수에 시작 함수로 기능 세트를 모든 형태의 초기화 코드를 이동 :

dim frm as new <your_form> 

을 당신이 그것을 표시 할 때 후 전화 만 frm.show 또는 frm.showdialog

+0

올바르지 않습니다. 새 인스턴스를 인스턴스화하기 만하면 양식의 'Load' 이벤트가 발생하지 않습니다. 'Show()'나'ShowDialog()'를 호출 할 때 실행되는'SetVisibleCore()'메쏘드에 의해 폼이 처음으로 보여지기 시작할 때 발생합니다. –

관련 문제