| Code Kitchen Allgemeines Coder-Forum rund um das Programmieren eigenständiger, ausführbarer Programme. |
Diskussion: [C#] Event vererben im Forum Code Kitchen, in der Kategorie Software Home; Anzeige Hallo zusammen, aktuell arbeite ich an einer Form-Klasse, von der alle Forms erben, und beim Starten die letzte Position ...
![]() |
| | #1 (permalink) |
| Anzeige Hallo zusammen, aktuell arbeite ich an einer Form-Klasse, von der alle Forms erben, und beim Starten die letzte Position aus der Registry lesen und beim Schließen die letzte Postion der Form mit X & Y in die Registry speichern. Das Holen der Postion klappt auch wunderbar: Code: public Forms()
{
// Automatisches Zuweisen eines Icons
System.Drawing.Icon ico = new System.Drawing.Icon("DD 20.ico");
this.Icon = ico;
// Ermittlung der letzten Fensterposition
try
{
this.Location = new System.Drawing.Point(
Convert.ToInt16(RegHelper.GetSpecificKey("lastX")),
Convert.ToInt16(RegHelper.GetSpecificKey("lastY"))
);
}
catch (Exception ex)
{
DebugHelper.WriteToLog(ex.Message.ToString());
}
} In den Child-Forms kann es jedoch vorkommen, dass ich bereits im Event Dinge durchführe, duie erhalten bleiben sollen. Nun habe ich in meiner Vaterklasse das Event deklariert: Code: protected void Forms_FormClosing(object sender, FormClosingEventArgs e)
{
try
{
RegHelper.SetSpecificKey("lastX", this.Location.X.ToString());
RegHelper.SetSpecificKey("lastY", this.Location.Y.ToString());
}
catch (Exception ex)
{
DebugHelper.WriteToLog(ex.Message.ToString());
}
this.Close();
} hat jemand von euch eine Ahnung? | |
| | |
| | #2 (permalink) |
| Member of Honour ![]() | Also bei mir funktioniert folgendes. Parent: Code: public class CommonForm : Form
{
public CommonForm()
{
this.FormClosing += new FormClosingEventHandler(CommonForm_FormClosing);
}
void CommonForm_FormClosing(object sender, FormClosingEventArgs e)
{
MessageBox.Show("Parent");
}
} Code: public class TestForm : CommonForm
{
public TestForm()
{
this.FormClosing += new FormClosingEventHandler(TestForm_FormClosing);
}
void TestForm_FormClosing(object sender, FormClosingEventArgs e)
{
MessageBox.Show("Child");
}
} |
| | |
| HaBOT | - Anzeige - |
| |
| | #3 (permalink) |
| Themenstarter | Hallo und lieben Dank erst einmal für deine Antwort. Also ich habe mal testweise in einem Child das Event deklariert: PHP-Code: PHP-Code: Auch das Event im Child wird komischerweise nicht gefeuert. Geändert von reaLInsanity (21.12.11 um 23:01 Uhr) |
| | |
| | #4 (permalink) |
| Member of Honour ![]() | Ich habe das gerade nochmal im Designer getestet, funktioniert auch. Schau mal in deiner "***.Designer.cs" nach ob dort im InitializeComponents() sowas in der Art steht: Code: this.FormClosing += new System.Windows.Forms.FormClosingEventHandler(this.MainFormFormClosing); Edit: Und mache das this.Close(); am Ende der FormClosing() raus, sonst hast du da ne Endlosschleife. Geändert von AaFreak (22.12.11 um 19:37 Uhr) |
| | |
| | #5 (permalink) |
| Themenstarter | Hallo und danke für deine schnelle Antwort. Ja, ich arbeite mit Visual Studio. Ich muss aber dazu sagen, dass diese Form nicht direkt aufgerufen wird, sondern durch eine übergeordnete Login-Form. In dieser habe ich das FormClosing der Unterform (Main) bekannt gemacht und die komplette Applikation zu schließen. Hat das eventuell damit etwas zutun, dass das Event nicht feuert? Edit: Und ja, die Deklaration des Events war in der Designer drin. PHP-Code: Hat sich komplett erledigt. Ich hatte in der ParentForm das "InitializeComponents" vergessen, weswegen keine Events abboniert wurden... echt dummer Fehler. Nun geht's wieder. Vielen Dank für Eure Hilfen! Geändert von reaLInsanity (23.12.11 um 13:24 Uhr) |
| | |
![]() |
| - Anzeige - | |
| |
| Themen-Optionen | |
| Ansicht | |
| |
Ähnliche Themen | ||||
| Thema | Autor | Forum | Antworten | Letzter Beitrag |
| Event Buchung PHP Skript | mastermix252 | (Web-) Design und webbasierte Sprachen | 7 | 28.02.10 16:17 |
| Linux/C++: /dev/input/event* lesen | Extinction | Code Kitchen | 4 | 07.12.09 19:04 |
| C#: Event nur einmal definieren? | :::Lük::: | Code Kitchen | 2 | 21.05.08 20:36 |
| Event Viewer | nAppEr | Windows | 0 | 12.02.04 09:23 |
| Event-Suchmaschine | Flou | News & Ankündigungen | 0 | 27.04.02 11:15 |