- ベストアンサー
VB2010 Formを裏で動かす方法
VB2010を使っています。Form1、Form2、Form3を作成して、Form1をHide()ではなく、裏で動かす方法を教えてください。
- みんなの回答 (1)
- 専門家の回答
質問者が選んだベストアンサー
こんにちは 少し質問の意味が掴めませんでしたので、情報を頂けないでしょうか? >裏で動かす方法を 「Hide()ではなく」ということは、裏といっても目に見える状態で「裏で動かす」ということでしょうか? 下記の動作とは違うんですよね。 Public Class Form1 Dim f2 As New Form2 Dim st1 As String = "JR" Dim st2 As String = "山田" Private Sub f1() Handles MyBase.Shown TextBox1.Text = st1 TextBox2.Text = st2 End Sub Private Sub Button1_Click(sender As System.Object, e As System.EventArgs) Handles Button1.Click st1 = TextBox1.Text st2 = TextBox2.Text f2.txt2(st1, st2) f2.Show() Me.WindowState = FormWindowState.Minimized End Sub End Class Public Class Form2 Public _txt1 As String Public _txt2 As String Dim st1 As String = "東日本の" Dim st2 As String = "佐藤" Dim f3 As New Form3 Private Sub f2() Handles MyBase.Shown TextBox1.Text = _txt1 & "," & st1 TextBox2.Text = _txt2 & "," & st2 End Sub Private Sub Button1_Click(sender As System.Object, e As System.EventArgs) Handles Button1.Click f3.txt3(_txt1 & "," & st1, _txt2 & "," & st2) f3.Show() End Sub Public Sub txt2(ByVal txt1 As String, ByVal txt2 As String) _txt1 = txt1 _txt2 = txt2 End Sub End Class Public Class Form3 Public _st1 As String Public _st2 As String Private Sub f3() Handles MyBase.Shown TextBox1.Text = _st1 & "従業員は" TextBox2.Text = _st2 & "," & "鈴木です。" End Sub Public Sub txt3(ByVal st1 As String, ByVal st2 As String) _st1 = st1 _st2 = st2 End Sub End Class となると、Background Workerのことでしょうか? Background Workerについては下記URLを見てください。 http://www.atmarkit.co.jp/fdotnet/vb2005/vb2005_04/vb2005_04_01.html あとは、NotifyIconでしょうか? Public Class Form1 Private Sub f1() Handles MyBase.Shown Me.WindowState = FormWindowState.Minimized Button1.Text = "画面を非表示にします。" Button2.Text = "Form2を開きます。" End Sub Private Sub NotifyIcon1_Click(sender As System.Object, e As System.EventArgs) Handles NotifyIcon1.Click Me.WindowState = FormWindowState.Normal End Sub Private Sub Button1_Click(sender As System.Object, e As System.EventArgs) Handles Button1.Click Me.WindowState = FormWindowState.Minimized End Sub Private Sub Button2_Click(sender As System.Object, e As System.EventArgs) Handles Button2.Click Dim f2 As New Form2 f2.Show() End Sub End Class Public Class Form2 Private Sub f2() Handles MyBase.Shown Label1.Text = "Form2が開きました。" End Sub End Class お手数ですが、出来る範囲で結構ですので情報を返信して頂けると嬉しいです。
お礼
早々にご回答をありがとうございました。丁寧にコードもお書きいただきましたので、2つとも作成してみました。 NotifyIconを利用するのが、私には良いことがわかりました。ありがとうございました。 但し、「Private Sub f1() Handles MyBase.Shown Me.WindowState = FormWindowState.Minimized」 のところで、「FormWindowState.Minimized」を「FormWindowState.Normal」に書き換えて使いました。 感謝いたします。