Autor Beitrag
zappo
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 40



BeitragVerfasst: So 12.07.09 17:16 
Hallo an alle,

und wieder eine Frage von mir.
Ich habe hier eine Anwendung welche ich, zwecks aufräumarbeiten, am liebsten nur über einen Selbst erstellen "schliessen" Button schliessen lassen möchte.
Dafür müsste das allgegenwärtige "X" in der Titelleiste natürlich weg.
Gibts da ne Möglichkeit?
Oder etwa eine Möglichkeit wie man bestimmte Aktionen vor dem schliessen ausführen lassen kann???

mfg
Sebastian
jaenicke
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 19272
Erhaltene Danke: 1740

W11 x64 (Chrome, Edge)
Delphi 11 Pro, Oxygene, C# (VS 2022), JS/HTML, Java (NB), PHP, Lazarus
BeitragVerfasst: So 12.07.09 17:19 
user profile iconzappo hat folgendes geschrieben Zum zitierten Posting springen:
Dafür müsste das allgegenwärtige "X" in der Titelleiste natürlich weg.
Gibts da ne Möglichkeit?
BorderIcons setzen, aber das ist nicht zu empfehlen...

user profile iconzappo hat folgendes geschrieben Zum zitierten Posting springen:
Oder etwa eine Möglichkeit wie man bestimmte Aktionen vor dem schliessen ausführen lassen kann???
Natürlich gibt es dafür Ereignisse. Namentlich OnCloseQuery (Frage, ob geschlossen werden darf), OnClose (es wird geschlossen) und OnDestroy (das Formularobjekt wird aus dem Speicher freigegeben).

// EDIT:
:oops: Ich habe ganz übersehen, dass es um "WPF / Silverlight" geht. Da ist das etwas anders.


Zuletzt bearbeitet von jaenicke am So 12.07.09 18:13, insgesamt 1-mal bearbeitet
zappo Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 40



BeitragVerfasst: So 12.07.09 17:41 
hm, gut, dem schliesst sich offensichtlich ein rechte problem an, welches ich ebenfalls nicht lösen kann grad.
So scheint es ersteinmal zu gehen...

Zitat:

protected override void OnClose(CancelEventArgs e)
{
e.Cancel = true;
FileInfo fileinfo = new FileInfo("wr_bak.xml");
fileinfo.Attributes |= FileAttributes.Normal;
File.Delete("wr_bak.xml");
Close();
return;
}


leider gibt es dann beim löschen der Datei ne UnauthorizedAccess Exception.
An anderer Stelle im Programm macht das löschen selbiger Datei allerdings kein Problem, woran könnts liegen?
Andreas L.
ontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic starofftopic star
Beiträge: 1703
Erhaltene Danke: 25

Windows Vista / Windows 10
Delphi 2009 Pro (JVCL, DragDrop, rmKlever, ICS, EmbeddedWB, DEC, Indy)
BeitragVerfasst: So 12.07.09 17:55 
Wenn das OnClose-Ereignis aufgerufen wird hat das Formular ja schon die Nachricht erhalten geschlossen zu werden, d. h. du brauchst Close(); nicht mehr aufrufen.
zappo Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 40



BeitragVerfasst: So 12.07.09 18:19 
gut, das ist logisch! ;)
Ändert aber leider nichts an meinem Rechte Problem.. .:-(

Kann mir da jemand weiterhelfen??

Gruß
JüTho
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 2021
Erhaltene Danke: 6

Win XP Prof
C# 2.0 (#D für NET 2.0, dazu Firebird); früher Delphi 5 und Delphi 2005 Pro
BeitragVerfasst: So 12.07.09 18:35 
Du solltest nicht die OnClose-Methode überschreiben, sondern das CloseQuery-Ereignis oder Close-Ereignis nutzen. (Das sollte unter WPF genauso gelten wie bei WinForms.) Jürgen
zappo Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 40



BeitragVerfasst: So 12.07.09 19:45 
leider nicht, wpf kennt closed und closing als events....
JüTho
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 2021
Erhaltene Danke: 6

Win XP Prof
C# 2.0 (#D für NET 2.0, dazu Firebird); früher Delphi 5 und Delphi 2005 Pro
BeitragVerfasst: So 12.07.09 19:52 
Enthält das Closing-Ereignis CancelEventArgs? Dann passt es auf jeden Fall. Jürgen
zappo Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 40



BeitragVerfasst: So 12.07.09 20:33 
tut es!
Problem hat sich auch gelöst!

Lag daran das ich das ReadOnly des Files vorher EXKLUSIV entfernen musste.

Gruß