![]() |
CloseQuery im .Net
hi @all,
im geschäft programmier ich mit delphi win32 daheim hab ich jetzt auch angefangen ein bisschen zu programmieren und zwar will ich daheim ein bischen delphi .net ausprobieren... im delphi win32 gibts ja das closequery ereigniss.... sowas ähnliches such ich grad für .net in win32 würd ich das jetzt ungefähr so machen:
Delphi-Quellcode:
hat mir jemand nen kleinen gedanken anstoss wie das in .net geht???
procedure TMain_Form.CloseQuery(Sender: TObject; var CanClose: Boolean);
var RetVal: Word; begin RetVal := MessageDlg('Fenster schliessen?', mtconfirmation, mbyesno, 0); If RetVal = mryes Then CanClose := True Else CanClose := False; End; hab da schon die ereignisse closed und closing ausprobiert jedoch nicht mit dem gewünschten ergebniss... bin für jede hilfe dankbar! |
Re: CloseQuery im .Net
Closing ist aber das richtige Ereignis. Statt CanClose benutzt du e.Cancel (natürlich auf den umgekehrten Wert setzen :)).
|
Re: CloseQuery im .Net
danke für denn tipp
so gehts :)
Delphi-Quellcode:
procedure Main_Form.Main_Form_Closing(sender: System.Object; e: System.ComponentModel.CancelEventArgs);
var RC : integer; begin RC := MessageDlg('Close Adress Book?', mtwarning, mbyesno, 0); If RC = 6 Then e.Cancel := False Else e.Cancel := True; end; |
Re: CloseQuery im .Net
hab ich hier irgendwo nen denkfehler drinne???
ich möcht gern wenn ich auf nen button klicke, meine form schliessen und dazu die oben (die procedure aus meinem letzten beitrag) bereits aufgeführte closing procedure verwenden... aber so krieg ich immer ne exception :( :wall:
Delphi-Quellcode:
procedure Main_Form.btn_exit_Click(sender: System.Object; e: System.EventArgs);
var Parm : System.ComponentModel.CancelEventArgs; begin Parm.Cancel := False; Self.Main_Form_Closing(sender,Parm); end; |
Re: CloseQuery im .Net
Hilft das? ;)
Delphi-Quellcode:
Parm := System.ComponentModel.CancelEventArgs.Create()
|
Re: CloseQuery im .Net
hmm ja ein bischen hats mir geholfen, aber noch nicht ganz....
Delphi-Quellcode:
so übergebe ich an meine Main_Form_Closing procedure denn wert fürs schliessen...
Parm := System.ComponentModel.CancelEventArgs.Create(False);
wenn ich dann in meinem messagedlg auf ja geh, dann bleibt die form aber immer noch geöffnet... überseh ich irgendwas??? |
Re: CloseQuery im .Net
Das hilft dir zwar gegen die Exception, aber schließen musst du das Formular dann doch mit Self.Close() ;)
|
Re: CloseQuery im .Net
hab bis jetzt immer noch nicht die lösung gefunden, aber ich werds hoffentlich noch hinbekommen...
ansonsten werd ich hier nommel nachfragen ;) |
Re: CloseQuery im .Net
Eigentlich steht doch schon alles da?!
Hast du mal folgendes probiert:
Delphi-Quellcode:
Wenn du dann noch das Closingevent richtig verdrahtest mit der Methode, dann sollte alles klappen?!
procedure Main_Form.btn_exit_Click(sender: System.Object; e: System.EventArgs);
begin Self.Close(); end; procedure Main_Form.Main_Form_Closing(sender: System.Object; e: System.ComponentModel.CancelEventArgs); var RC : integer; begin RC := MessageDlg('Close Adress Book?', mtwarning, mbyesno, 0); If RC = 6 Then e.Cancel := False Else e.Cancel := True; end; Gruß |
Re: CloseQuery im .Net
ja ich weiss, aber genau bei dem verdrahten liegt mein problem ;) :wall:
Edit: wie gesagt das ist mein erstes .net programm, ich hoffe ihr verzeihts mir wenn ich mich selten doof anstelle :oops: |
Alle Zeitangaben in WEZ +1. Es ist jetzt 09:20 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz