Entwickler-Ecke
C# - Die Sprache - zwei Formen
TheSoul - Di 26.01.10 11:46
Titel: zwei Formen
Hallo zusammen,
Ich habe zwei Formen.
frmKonfig
frmBrowser
Wie kann ich jetzt in Konfig.cs auf frmBrowser zugreifen? bzw. aufrufen?
Irgendwie: frmbrowser.webbrowser.url = new uri (txtboxUrl.text)
Danke schon im Voraus
jaenicke - Di 26.01.10 11:50
Das ist die falsche Richtung, du rufst das Konfigurationsformular ja aus deinem Hauptformular auf. Nach dem Aufruf und dem Bestätigen durch den Benutzer wird das Fenster wieder geschlossen und dann musst du im Hauptformular direkt danach die Einstellungen auslesen und benutzen.
TheSoul - Di 26.01.10 11:53
Tut mir leid. Verstehe nicht was du gepostet hast... Ich kann es eben gerade nicht vom Hauptformular aufrufen...
danielf - Di 26.01.10 12:06
Irgendwo in deinem Hauptform rufst du die Konfigform auf. Danach kannst du dann über die Instanz auf den Url-Wert zugreifne und sie dann an dein frmBrowser weiterleiten.
C#-Quelltext
1: 2: 3:
| frmKonfig.Show()
frmBrowser.WebBrowser.Url =new uri(frmKonfig.Url); |
Du musst halt dementsprechend Schnittstellen (öffentliche Methoden/Properties) zur Verfügung stellen.
Gruß Dainel
jaenicke - Di 26.01.10 12:08
Erste Form
1: 2: 3: 4: 5:
| using (ConfigForm Config = new ConfigForm()) { if (Config.ShowDialog() == DialogResult.OK) MessageBox.Show(Config.TestProperty); } |
Zweite Form
1: 2: 3: 4:
| public string TestProperty { get { return textBox1.Text; } } |
TheSoul - Di 26.01.10 12:40
Habe es folgendermassen gelöst.
Code im frmKonfig:
C#-Quelltext
1: 2: 3: 4: 5: 6: 7:
| private void cmdBrowser_Click(object sender, EventArgs e) { frmBrowser meineForm = new frmBrowser(txtURL.Text); meineForm.Show(); } |
Code im frmBrowser
C#-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9:
| public frmBrowser(string text) { InitializeComponent();
Uri url = new Uri(text); webBrowser.Url = url; } |
Danke für die Hilfe. Somit ist die Frage geklärt.
danielf - Di 26.01.10 18:19
Naja, es geht zwar so, aber ist wohl sehr sehr ungeschickt das im Konstruktor zu übergeben. Vlt. willst du die Adresse später ja nochmal ändern. Dann müsstest du ja ein neues Form erstellen?!
Mach lieber eine Methode
C#-Quelltext
1: 2: 3:
| public void Navigate(string url) { webBrowser.Url = url; } |
oder gleich ein Property
C#-Quelltext
1:
| public Url Url { get { return webBrowser.Url; } set { webBrowser.Url = value; } } |
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2026 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!