タイムシートを作成するプログラムがあり、保存されたタイムシートがフォーム 1 のボタンをクリックして読み込まれると、データがフォーム 2 に読み込まれ、フォーム 2 のメソッドが呼び出されてデータがフォーム 3 に印刷されます。Form2.Print()
フォーム2を開いた場合、フォーム2にデータはありませんが、データがフォーム3に印刷されるという点で機能します。データを削除するとForm2.Print()
、フォーム2にロードされ、[印刷]ボタンをクリックできます。フォーム2を開くとここでも、データはテキスト ボックスに残っています。注: 理想的には、フォーム 1 の [開く] ボタン クリック イベントからフォーム 2 とフォーム 3 にデータを送信するだけですが、Print()
フォーム 2 のメソッドは、印刷以外の多くのことをプログラムに対して実行するため、複製する代わりに呼び出すことが容易になります。 [開く] をクリックします。助けてくれてありがとう。乾杯!
フォーム1Code
Private Sub Open_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Open.Click
Dim xmldoc As XmlDocument
Dim nodelist As XmlNodeList
Dim node As XmlNode
Dim objForm2 As Object = Form2
xmldoc = New XmlDocument()
xmldoc.Load("C:\time.xml")
nodelist = xmldoc.SelectNodes("/Timesheet/Job1")
For Each node In nodelist
Dim CustName = node.ChildNodes.Item(0).InnerText
Form2.txtbxCustName.Text = CustName
Dim WO = node.ChildNodes.Item(1).InnerText
Form2.txtbxWONum.Text = WO
Next
objForm2.Print()
End Sub
`
フォーム2Code
Private Sub btnPrint_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnPrint.Click
Print()
End Sub
Public Sub Print()
Form3.labelCustName.text = txtbxCustName.text
Form3.labelWOnum.text = txtbxWOnum.text
Me.Close()
End Sub