Laden...

Forenbeiträge von MonkeyT Ingesamt 7 Beiträge

25.08.2011 - 15:01 Uhr

Hi,

ja da hatte ich mir auch ein wenig Gedanken gemacht, ob es besser ist die Daten vorher zu überprüfen.

Dieses Aufrufen der Form soll von mehreren Stellen aus möglich sein. So erzeuge ich die Form und übergebe die ID, den Rest macht die Form...
Weiß nicht, gilt es als schlechter Stil wenn man das so macht?

Und ja, der Code oben ist natürlich nur eine Demo, die diesen einen Fall darstellt...

Gruß
Monkey

23.08.2011 - 14:48 Uhr

Ah, jetzt fällt der Groschen. Wusste erst nicht was du damit meinst -> Das prüfen der Daten mit dem Shown-Event aufrufen.

Also wen es interessiert, hier die Lösung:

Form1


private void button1_Click(object sender, EventArgs e)
{
  Form2 frm = new Form2();
  frm.FormClosed += new FormClosedEventHandler(frm_FormClosed);
  frm.Show();
  this.Enabled = false;
}

void frm_FormClosed(object sender, FormClosedEventArgs e)
{
  this.Enabled = true;
}   

Form2


private void Form2_Load(object sender, EventArgs e)
{
  this.Shown += new EventHandler(Form2_Shown);
}

void Form2_Shown(object sender, EventArgs e)
{
  this.Close();
}

DANKE!!!

23.08.2011 - 14:24 Uhr

Habt ihr eine andere Idee wie ich das Lösen kann.

Form2 ist ein Fenster zum editieren eines Datensatzes, welcher in Form1 ausgewählt wurde. Sind diese Daten nicht korrekt wird eine Fehlermeldung ausgegeben und die Form2 soll sich wieder schließen. Danach soll man natürlich wieder in Form1 arbeiten können...

22.08.2011 - 16:38 Uhr

Hi,

hab hier ein kleines Problem. Eigentlich klappt das perfekt. Ich öffne eine Form2, kann darin arbeiten und nachdem Form2 geschlossen wird, kommt in Form1 das Closed-Event an...
Jetzt wird während dem Laden der Form2 diese wieder geschlossen (siehe Code) und das Closed-Event scheint nicht zu kommen... Warum nicht?

private void buttonEditData_Click(object sender, EventArgs e)
{
  Form2 frm = new Form2();
  frm.FormClosed += new FormClosedEventHandler(SubForm_FormClosed);
  frm.Show();
  this.Enabled = false;
}

private void SubForm_FormClosed(object sender, FormClosedEventArgs e
{
  this.Enabled = true;
}


private void Form2_Load(object sender, EventArgs e)
{
  this.close();
}
03.08.2011 - 12:00 Uhr

Hallo!

Simples Problem, aber ich finde keine Lösung.
Ich habe eine Methode die brauche ich häufig und in verschiedenen Klassen.

Jetzt möchte ich diese nicht in jede Klasse kopieren, sondern einmal erstellen. Nur als was? Und wie kann ich diese Datei in meine Klassen einbinden. Also so eine Art "include"...

grz
Monkey

03.08.2011 - 08:38 Uhr

Jawoll danke, damit habe ich es geschafft...
Ne die Schnippsel habe ich selber zu Verantworten 😃

So funktionierts (alles in Form1)


private void button3_Click(object sender, EventArgs e)
{
  Form2 frm = new Form2();
  frm.FormClosed += new FormClosedEventHandler(frm_FormClosed);
  frm.Show();
}

void frm_FormClosed(object sender, FormClosedEventArgs e)
{
  Console.WriteLine("Form2 wurde geschlossen!");
}
03.08.2011 - 08:06 Uhr

Hallo!

Also ich habe die Suchfunktin benutzt. Doch komme nicht weiter.
Es geht um Kommunikation zwischen Form1 und Form2. Genau von Form2 -> Form1.
Also, indirekt über Events:

In Form1:


private void button1_Click(object sender, EventArgs e)
{
  Form2 frm = new Form2();
  frm.Show();
}

private void Form2_Closing(object sender, System.ComponentModel.CancelEventArgs e)
{
  Console.WriteLine("Jau");
}

Ich habe Form2_Closing und frm_Closing versucht...
Aber die Methode wird nie aufgerufen, wieso? Muss in Form2 noch was gemacht werden damit es das Event feuert?

grz
Monkey