Benutzer mit den meisten Antworten
C# - string aus Form1 in Form2 verwenden?

Frage
-
Hallo,
Ich habe folgendes Problem, bei dem Ich hilfe beötige.
Ich habe ein Projekt welches Form1 und Form2 beihnaltet.
In Form1 wird eine zufällige GUID erzeugt und in den string "GuidString" kopiert.
Guid g = Guid.NewGuid(); string GuidString = Convert.ToBase64String(g.ToByteArray()); GuidString = GuidString.Replace("=", ""); GuidString = GuidString.Replace("+", "");
Dieser string wird an die Email des Benutzers gesendet und Form2 öffnet sich.
Der Benutzer wird dann aufgefordert die GUID in Form2 einzugeben.
Dies wollte ich wie folgt lösen:
if (textBox1.Text == GuidString) { //text stimmt } else { //text falsch }
Doch der String aus Form1 wird in Form 2 nicht erkannt.
Danke im Vorraus.
MFG
~Silentkilll
- Bearbeitet Silentkilll Freitag, 1. März 2013 20:53
Antworten
-
Hi,
wie sollte das auch gehen? Laut dem, was Du schreibst, ist das eine lokale Variable in einer Methode.
Wenn Du die Variable übergreifend haben willst, erstell dir eine statische Klasse und hinterleg den Wert dort.
http://msdn.microsoft.com/de-de/library/79b3xss3.aspx
Alternativ kannst Du auch einfach in deiner Form2 eine öffentliche Eigenschaft erstellen und die dann von Form1 aus beim erstellen und Öffnen der zweiten Form übergeben.
Gruß, Stefan
Microsoft MVP - Visual Developer ASP/ASP.NET
http://www.asp-solutions.de/ - Consulting, Development
http://www.aspnetzone.de/ - ASP.NET Zone, die ASP.NET Community- Als Antwort vorgeschlagen Marcel RomaModerator Freitag, 8. März 2013 08:55
- Als Antwort markiert Ionut DumaModerator Freitag, 15. März 2013 11:30
-
Eine dritte Variante ist GuidString als ein Feld drin Form1 abzulegen und Form2 die Instanz von Form1 zu übergeben. Das lohnt sich aber in diesem Fall kaum. Da würde auch nur das Feld selbst reichen, also in etwa so wie Stefans 2. Vorschlag.
class Form1 : Form { public string GuidString{get;private set;} void DoSome() { GuidString = "..."; Form2 f = new Form2(this);//Alternativ nur GuidString f.ShowDialog(); } } class Form2 : Form { public string GuidString; public Form2(Form1 frm) //Alternativ den GuidString verlangen { this.GuidString = frm.GuidString; } }
Koopakiller [kuːpakɪllɐ] | Webseite | Code Beispiele | Facebook | Snippets
- Als Antwort vorgeschlagen Marcel RomaModerator Freitag, 8. März 2013 08:55
- Als Antwort markiert Ionut DumaModerator Freitag, 15. März 2013 11:29
Alle Antworten
-
Hi,
wie sollte das auch gehen? Laut dem, was Du schreibst, ist das eine lokale Variable in einer Methode.
Wenn Du die Variable übergreifend haben willst, erstell dir eine statische Klasse und hinterleg den Wert dort.
http://msdn.microsoft.com/de-de/library/79b3xss3.aspx
Alternativ kannst Du auch einfach in deiner Form2 eine öffentliche Eigenschaft erstellen und die dann von Form1 aus beim erstellen und Öffnen der zweiten Form übergeben.
Gruß, Stefan
Microsoft MVP - Visual Developer ASP/ASP.NET
http://www.asp-solutions.de/ - Consulting, Development
http://www.aspnetzone.de/ - ASP.NET Zone, die ASP.NET Community- Als Antwort vorgeschlagen Marcel RomaModerator Freitag, 8. März 2013 08:55
- Als Antwort markiert Ionut DumaModerator Freitag, 15. März 2013 11:30
-
Eine dritte Variante ist GuidString als ein Feld drin Form1 abzulegen und Form2 die Instanz von Form1 zu übergeben. Das lohnt sich aber in diesem Fall kaum. Da würde auch nur das Feld selbst reichen, also in etwa so wie Stefans 2. Vorschlag.
class Form1 : Form { public string GuidString{get;private set;} void DoSome() { GuidString = "..."; Form2 f = new Form2(this);//Alternativ nur GuidString f.ShowDialog(); } } class Form2 : Form { public string GuidString; public Form2(Form1 frm) //Alternativ den GuidString verlangen { this.GuidString = frm.GuidString; } }
Koopakiller [kuːpakɪllɐ] | Webseite | Code Beispiele | Facebook | Snippets
- Als Antwort vorgeschlagen Marcel RomaModerator Freitag, 8. März 2013 08:55
- Als Antwort markiert Ionut DumaModerator Freitag, 15. März 2013 11:29