C# Prüfen ob E-Mail eingegeben wurde

PeterParty

Lt. Junior Grade
Registriert
Aug. 2008
Beiträge
282
Hi@ALL

Ich wollte in C# gerne Prüfen on in meine textBox2 eine Richtige E-mail eingegeben wurde sprich:

1) Ein "@" Zeichen
2) Vor dem "@" min. 1 Zeichen
3) nach dem "@" Zeichen min. 2 Zeichen


Wie kann ich das anstellen?

würde mich über Hilfe freuen

Mfg
Peter
 
Wenn deine Anforderungen so gering sind, dann such einfach nach einem @, wenn das nicht da ist, ist die Eingabe schonmal invalide. Sollte ein @ da sein, schau einfach ob davor und danach die Anzahl an Zeichen existiert die du willst. Ist doch nich schwer?
 
Code:
[a-z0-9!#$%&'*+/=?^_`{|}~-]+(?:\.[a-z0-9!#$%&'*+/=?^_`{|}~-]+)*@(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\.)+(?:[A-Z]{2}|com|org|net|edu|gov|mil|biz|info|mobi|name|aero|asia|jobs|museum)\b
Das sollte der passende RegEx-Ausdruck für Mailvalidierung sein.
 
Ahh richtig hätte ich auch selber drauf kommen können...
Hier ;=)



Ich hätte noch eine kleine frage.

ich habe 3 Form`s im Form1 habe ich eine Methode mit dem namen:

Code:
public void serials_update()

Diese möchte ich von Form3 aufrufen das sieht so aus:

Code:
Form1 frm1 = new Form1();
            frm1.serials_update();

Nur leider funktioniert das nicht;(
von Form1 aus funktioniert es alles..


Mfg
Peter
 
Ich bekomme keine Fehlermeldung...Er führt die Methode leider nicht aus =(
 
Ja, er duchläuft die Methode wie es sein soll... Ich bin total ratlos ;(

hier mal der Code:

Form3:

Code:
 private void button2_Click(object sender, EventArgs e)
        {
            Form1 frm1 = new Form1();
            frm1.serials_update();
            this.Close();
        }

Die Methode die ausgeführt werden soll auf Form1:

Code:
public void serials_update()
        {
            if (File.Exists(@"Serials.ini"))
            {
                comboBox1.Items.Clear();
                List<FooBar> list = new List<FooBar>();
                StreamReader reader = new StreamReader("Serials.ini");
                
                    while (reader.EndOfStream == false)
                    {
                        FooBar fooBar = new FooBar();
                        fooBar.Load(reader.ReadLine());
                        list.Add(fooBar);

                    }
                    reader.Close();                 
                    comboBox1.Items.AddRange(list.ToArray());
            }

            else
            {
                MessageBox.Show("Serials.ini not found! Please enter a Serial");
            }
        }
 
also er führt die methode aus... du siehst nur das fenster nicht richtig ?

Code:
 private void button2_Click(object sender, EventArgs e)
        {
            Form1 frm1 = new Form1();
            frm1.Show(); // zeigt das Fenster an
            frm1.serials_update();
            this.Close();
        }

probier das mal
 
Ne, laut debug führt er die methode aus aber es passiert einfach nicht was er machen soll...



Das Programm ist so aufgebaut:


Form1 = Haupt Form
Form2 = About Form
Form3 = New Serial Form

Alles wird von Form1 im .ShowDialog() geöffnet.

und ich möchte von Form3 eine Methode von Form1 ausführen.
 
die erzeugst ne neue instanz von form1 dadurch musste das fenster der instanz neu anzeigen damit du was siehst oder übergibst die 1. instanz ans form3
 
Zuletzt bearbeitet:
Form1 ist ja im Hintergrund noch geöffnet.. Form3 wird ja nur im Dialog geöffnet..
 
Form1 mag offen sein, du greifst aber nicht auf Form1 zu sondern auf dein neues Objekt vom Typ Form1....
 
Sorge dafür das du Zugriff auf das vorhandene Objekt von Form1 hast...
 
gib am einfachsten im Form3 konstruktor Form1 mit und bei dem aufruf von form3 hast du dann die ürsprüngliche instanz von form1 und kannst die funktion problemlos ansteuern
 
Ich glaube du solltest dich mit Objektorientierter Programmierung befassen bevor du dich an eine objektorientierte Sprache wie C# setzt. Wenn du die Grundzüge nicht verstehst bist du sogut wie am Arsch - und wenn du die Grundzüge nicht von Anfang an lernst, wirst du wahrscheinlich nur Bullshit an Code schreiben und dir das nie wieder vernünftig abgewöhnen können.
 
Code:
public class Form3 : Form
{
    Form1 _frm; 
	public Form3(Form1 frm)
	{
        _frm = frm;
	}
    public void useForm1()
    {
        _frm.myFunction();
    }
}

simpel aber nicht die beste lösung
 
Zurück
Oben