[vb.net] Variable an ein Formular übergeben
Gepostet am: Apr 20, 2011 8:1:36 PM
Ein häufiges Problem und immer wieder gern gestellte Frage ist, wie man eine Variable an ein anderes Formular durchreicht. Dazu bekommt man immer wieder schwindelerregende Antworten, wie die Variable global zu deklarieren, oder von Form1 in ein Textfeld von Form2 zu schreiben und von dort wieder auszulesen usw. In Access und Co. gibt es dazu die recht einfache Methode der OpenArgs um Parameter zu übergeben. VB.net bietet etwas vergleichbares nicht an, aber eine - meiner Meinung nach - mächtigere Lösung, die ich kurz vorstellen möchte:
Die schönste Methode ist es die Eigenschaft des zu öffnenden Formulars um Eigenschaften bzw. Methoden zu erweitern.
Dafür benötigt man im zu öffnenden Formular folgenden Code:
zu öffnendes Formular
Public Class UF_Webseite 'für das Öffnen des Formulars ohne Parameter Public Sub New() InitializeComponent() End Sub 'für das Öffnen des Formulars mit Parameter Public Sub New(ByVal strUrl As String) InitializeComponent() ' die Url aufrufen Me.myWebbrowser.Navigate(strUrl) End SubEnd Class
Im Konkreten erweitert man in diesem Fall die Möglichkeit das Formular 'UF_Webseite' mit dem Parameter strUrl zu öffnen. Parallel dazu steht die Möglichkeit offen, das Fenster ohne Parameter zu öffnen.
Aufruf des Formulars mit und ohne Übergabeparameter
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click Dim frm As UF_Webseite = New UF_Webseite("www.google.at")
frm.Show() End Sub Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click Dim frm As UF_Webseite= New UF_Webseite()
frm.Show() End Sub