2016-09-16 35 views
0

この質問には既に尋ねられている場合は謝罪してください。 私は現在スタートアップフォルダに持っていますが、親フォームを開かないためにどのコードを使うべきかわかりません。 私のvb.netアプリケーションを起動時にバックグラウンドで開くようにして、ログイン時にユーザを煩わせることはありません。 どうすれば設定できますか?アプリケーションは起動時にバックグラウンドで開く

+0

アプリが最初から表示されていない場合は、後でユーザーに表示されますか?通知バーには何かありますか?それについて考える。私は@FloatingKiwi答えに行くことをお勧めします。しかし、同様に、プログラム引数のチェックを追加して、引数 "hidden"が存在していれば、私は隠しモードでアプリケーションを起動します(次に、起動フォルダに "hidden"引数) –

答えて

0

フォームが表示されないようにするには(フォーム自体が作成されます)、フォーム内の次のコードを上書きできます。

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

これは常にフォームを非表示にします。明示的にtrueを渡して、使用したい基準を表示します。

このアプローチでは、アプリケーションを再構成してui +ロジックを分離する必要はありません。あなたはそれを表示したいとき後

dim frm as new <your_form> 

+0

ありがとう@FloatingKiwiこれは私が探していた答えの並べ替えです。別の簡単な質問は、このサブを使用すると、デスクトップのショートカットから開いてみてもフォームを隠すことです。あなたはそのショートカットからフォームを開くことができるコードを知っていますか?あなたがこれに答えることができるなら、あなたの答えは受け入れられたとマークします。ありがとう –

+0

私はコマンドラインパラメータを使用してそれをやっています。スタートアップのショートカットで、/ hideuiを使用します。次に、アプリケーションは 'Command()'の値をチェックし、 'MyBase.SetCoreVisible'に渡すものを決めることができます。 – FloatingKiwi

0

は、新しいモジュールにsub Main関数に初期化コードを追加した後、起動機能として機能セットをすべてのフォームの初期化コードを移動するようにしてくださいonly call frm.showまたはfrm.showdialog

+0

これは間違っています。フォームの 'Load'イベントは、新しいインスタンスをインスタンス化するだけでは呼び出されません。 'Show()'や 'ShowDialog()'を呼び出すときに実行される 'SetVisibleCore()'メソッドによってフォームが表示されようとしている時に初めて呼び出されます。 –

関連する問題