お世話になります。
VB.Net2002で開発しているのですが、
初期表示フォームを非表示で、システムトレイに常駐するプログラムを作成したいと思っています。
常駐することは出来たのですが、どうしても起動時にフォームが表示されてしまいます。
フォームを非表示にするにはどうすればよいか教えてください。
実は結構厄介です。
http://www.microsoft.com/japan/msdn/library/default.asp?url=/japan/msdn/library/ja/vbcon/html/vbtsksettingformtobeinvisibleatitsinception.asp
フォームのコンストラクタでは非表示に設定出来ません。
Mainでやりたくない場合は、Form1_Load に Me.Top = 50000等と
表示位置を、表示できない場所に設定する方法もあります。
ねろさん、早速のご回答有難う御座います。
非表示には出来ないのですね。。。
表示位置をマイナス方向に追いやって実行することにします。
有難う御座いました。
>非表示には出来ないのですね
コンストラクターの中で出来ないという事で、全然出来ないわけではありません。
ずーと非表示のままで使用する場合は、スクリーンの外に飛ばす方法で問題は
ありませんが、表示したい場合もある場合は、タイマーを使って、
次の様にすることも出来ます。
Private Sub Form1_Load(ByVal sender As System.Object, _
ByVal e As System.EventArgs) Handles MyBase.Load
Me.Opacity = -1
Timer1.Enabled = True
End Sub
Private Sub Timer1_Tick(ByVal sender As System.Object, _
ByVal e As System.EventArgs) Handles Timer1.Tick
Timer1.Enabled = False
Me.Opacity = 1
Me.Visible = False
End Sub
Opacityの代わりにMe.Top=-40000等としてもOKですこの場合は
Timerの中でMe.Top=0等とします。
ツイート | ![]() |