Hallo zusammen! Habe ein kleines problem. Habe mir ein programm geschrieben mit VB.net und will mir jetzt noch einen Beenden knopf hinzufügen. Nur klappt es bei mir nicht wirklich mit dem Quelltext! Kann mir denn jemand den Quelltext für den Beenden Button schreiben?? Micha
:
Gesperrt durch User
Unter Visual Basic (kA was VisualBasic.NET ist..) gehts so Private blabla Unload form1 Unload form2 . . End Sub
Achtung: Bis VB6 gilt: 'End' geht nicht!!! Es sieht zwar so aus, als beendet sich das Programm, aber bei 'End' wird das Programm sofort abgebrochen. Es finden keine Aufräumarbeiten statt. Evtl. bleiben noch Objekte im Speicher, die dann als Leichen allerlei unerklärliche Ereignisse verursachen können. Ein 'End' wäre, als würde ein Busfahrer an der Endstation nicht die Fahrgäste aussteigen lassen, sondern den Bus in die Luft sprengen. Ob das unter VB.NET anders ist, wage ich zu bezweifeln. --
Hallo da ich bisher nur C++/C# Programmiert habe vermute ich mal das es in VB Ähnlich ist. hast mal Close() bzw. Application.Close() Probiert?
1 | |
2 | Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click |
3 | |
4 | End
|
5 | |
6 | End Sub |
So hab ich das bei mir. Ist in Visual Studio 2005 geschrieben. Gruß Tobi
Hallo alle zusammen, ich als langjähriger VB.Net Programmierer in Visual Studio 2008 kann nur sagen, dass die elegantesten Möglichkeiten ... 1. Möglichkeit: Private Sub btnClose_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnClose.Click Me.Close() End Sub 2. Möglichkeit: Private Sub btnClose_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnClose.Click Application.Exit() End Sub ... sind! Hierbei wird ein sogenanntes OnTopWindow nach der normalen Windows.FormClose Prozedur beendet. Dies ist vor allem bei SystemTools o.ä. wichtig, da dort Einstellungen gespeichert werden. Bei "Application.Close()" ist dies zwar auch der Fall, jedoch dauert diese Variante länger. Schöne Grüße und viel Erfolg weiterhin. Euer Besucher01
ja, juppi, was soll das. egal auf welche spezialitaeten hingewiesen wird (baudratenquarz, tastenentprellung, ponyprog-isp und neueste computer, usw), es findet sich immer ein trollo, der da meint, dass es trotzdem geht. und ja, end beendet das vb-programm, aber es hinterlaesst speicherchaos, welches dann andere programme zum stolpern bringen kann.
Warum wird gerade dieser Thread regelmäßig aus der Versenkung geholt?
Also nochmal Versenkung. Wegen 'End': Mir ist kein Betriebssystem bekannt, bei welchem das Abbrechen eines Programmes 'Speicherchaos' hinterlässt. Ich weiß nicht, wie das bei Windows ist, aber zumindest unter unixoiden Systemen wird der vom Programm belegte Speicher (Stapel, Halde) nach Abbruch oder Beendigung vom Betriebssystem wieder fregegeben. Bisweilen wird/wurde sogar aus Performancegründen empfohlen, Speicher beim Programmende nicht explizit, beispielsweise mit free(), freizugeben. Offenbar rührt bzw. rührte das daher, dass einige Systeme dadurch unnötig aktiv werden mussten, wenn der Speicher sich zur Zeit im Swap befand.