Supportnet / Forum / Anwendungen(Java,C++...)
Variable übergeben in VB.NET 2005
Frage
Hallo an alle Hilfsbereiten,
folgendes Problem besteht in meinem kleinen VB.Net Projekt.
Ein Fenster mit 3 ComboBoxen wird deklariert. Wenn man in diesen 3 ComboBoxen seine Auswahl getroffen hat und einen Button betätigt, dann wird mittels Select-Case-Anweisung ermittelt, was ausgewählt wurde. Nun wird, je nach Auswahl, eine PrivateSub aufgerufen, die ein neues Fenster erstellt. In dem sich neu öffnendem Fenster ist ein Button enthalten, welcher eine PDF-Datei öffnet. Diese PDF-Datei ist immer wieder eine andere, je nach getroffener Auswahl bzw. aufgerufener PrivateSub. Ich suche einen Weg beim aufrufen der PrivateSub einen String zu übergeben, welcher in der neu erzeugten Klasse dazu genutzt werden kann um die entsprechende PDF-Datei zu öffnen.
[code]Public Class immsBDmain
Private Sub immsBDmain_auswahlBTN_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles immsBDmain_auswahlBTN.Click
Select Case immsBDmain_projectCOMBOX.Text
Case "Projektauswahl"
MessageBox.Show("Sie müssen erst ein Projekt auswählen!")
Case "Fuse"
Select Case immsBDmain_testerCOMBOX.Text
Case "Testerauswahl"
MessageBox.Show("Sie müssen erst einen Tester auswählen!")
Case "HP82000"
Select Case immsBDmain_fassungCOMBOX.Text
Case "Fassungauswahl"
MessageBox.Show("Sie müssen erst eine Fassung auswählen!")
Case "16 DIL schmal"
Fuse_HP82000_16DILschmal()
Case "18 DIL schmal"
Fuse_HP82000_18DILschmal()
End Select
End Select
End Select
End Sub
Private Sub Fuse_HP82000_16DILschmal()
Dim Fuse_HP82000_16DILschmal As New immsBDboard
Fuse_HP82000_16DILschmal.BoardID_LBL.Text = _
"test"
Fuse_HP82000_16DILschmal.Project_LBL.Text = _
"FUSE"
Fuse_HP82000_16DILschmal.Date_LBL.Text = _
"24.01.2006"
Fuse_HP82000_16DILschmal.Author_LBL.Text = _
"geheim"
Fuse_HP82000_16DILschmal.Socket_LBL.Text = _
"DIL 16 schmal / Textool"
Fuse_HP82000_16DILschmal.Probecard_LBL.Text = _
"-"
Fuse_HP82000_16DILschmal.Adapterboard_LBL.Text = _
"-"
Fuse_HP82000_16DILschmal.Location_LBL.Text = _
"AZM ESO"
Fuse_HP82000_16DILschmal.Description01_LBL.Text = _
"Preperation at small universal loadboard E 1238A Option #002"
Fuse_HP82000_16DILschmal.Description02_LBL.Text = _
"Important! GND and VDD in the middle of the package"
Fuse_HP82000_16DILschmal.Description03_LBL.Text = _
""
Fuse_HP82000_16DILschmal.Description04_LBL.Text = _
""
Fuse_HP82000_16DILschmal.Description05_LBL.Text = _
""
Fuse_HP82000_16DILschmal.Show()
End Sub[/code]
Der Aufruf Fuse_HP82000_16DILschmal.Show() hat zur Folge, dass ein Fenster aufgerufen wird in welchelm ein Button eine PDF-Datei öffnen soll. Der Code dieser PublicClass ist momentan wie folgt:
[code]Public Class immsBDboard
Private Sub immsBDboard_pinbelegBTN_Click(ByVal sender As System.Object, _
ByVal e As System.EventArgs) Handles immsBDboard_pinbelegBTN.Click
Dim fileName As String = "C:\test.pdf"
Dim pStartInfo As ProcessStartInfo = New ProcessStartInfo(fileName)
Try
Dim p As Process = Process.Start(pStartInfo)
Catch ex As Exception
MessageBox.Show(ex.Message)
End Try
End Sub
End Class[/code]
Nun suche ich, wie gesagt, eine Weg um beim Aufruf der PrivateSub einen Stringwert zu übergeben den ich als Pfad auslesen kann, anstatt "C:\test.pdf" einzutragen.
MFG TeX
Antwort 1 von TeX
Ich habe in einem anderen Forum die Lösung genannt bekommen. In der "main"-Class wird einfach beim Aufruf der Private Sub die Variable übergeben, welche in der Klasse, die die Sub erzeugt, als Public deklariert wurde.
MFG TeX
MFG TeX

