PDA

Vollständige Version anzeigen : Me.Close beendet Anwendung


TykaAndreas
16.10.2003, 19:36
ich habe ein Formular
frm_start
es ist in den Projecteigenschaften als StartObject festgelgt
Es gibt eien Button der ein weiteres Formular öffnen soll, ich schreibe
Dim frm as new frm_2
Me.close
frm_2.show

Damit wird die ganze Anwendung beendet, das geschieht aber nicht wenn ich von irgendeinem Formular X zu frm_start zurückkehre, wenn ich dann wieder auf diesen Button klicke wird frm_start geschlossen und frm_2 angezeigt

Ich könnte statt close Hide nehmen aber das will ich eigentlich nicht

legend
16.10.2003, 20:30
wenn du nur das frm_start beenden willst und dafür ein neues aufrufen, kannst du das doch einfach mit dem Marko Manager machen. So hat das bei mir immer funktioniert.

TykaAndreas
17.10.2003, 14:16
beenden will ich nichts , sondern nur das aktuelle Form schliessen und ein weiteres öffen , mit Hide wird es nur unsichtbar , ich will es aber schliessen ohne dass dabei die ganze anwendung beendet wird

Serge
21.10.2003, 14:07
probier es mal so

me.close
frm.Activate()
frm.MdiParent = ActiveForm
frm.Show()

TykaAndreas
23.10.2003, 18:31
thanks, mit dem Beispiel klappts

TykaAndreas
28.10.2003, 13:00
schliessen macht wieder probleme, wie in diesem fall, habe natürlich auch das Beisspiel verwendet, das gibt aber einen Fehler:"das Formular das al übergeordnetes MdiParent für diese Formular angegeben wurde ist kein Mdi Container. Parametername:value"

dass ID-Nr = i ist -> einfach ignorieren

<div><link href="http://www.ms-office-forum.net/forum/externals/codeconv.css" rel="stylesheet"><pre> <span class="TOKEN">Private Sub</span> Text_check_Name_Validated(<span class="TOKEN">ByVal</span> sender <span class="TOKEN">As</span> Object, <span class="TOKEN">ByVal</span> e <span class="TOKEN">As</span> System.EventArgs) Handles Text_check_Name.Validated
<span class="TOKEN">Dim</span> i <span class="TOKEN">As</span> <span class="TOKEN">Single</span>
&nbsp;
<span class="TOKEN">If</span> Len(Trim(Me.Text_check_Name.Text)) &gt; 0 <span class="TOKEN">Then</span>
&nbsp;
MsgBox(&quot;Name wurde gespeichert&quot;)
<span class="TOKEN">Dim</span> frm <span class="TOKEN">As</span> <span class="TOKEN">New</span> Frm_Fragen
<span class="TOKEN">Dim</span> s <span class="TOKEN">As</span> <span class="TOKEN">String</span>
s = Me.Text_check_Name.Text
&nbsp;
Me.Close()
<span class="TOKEN">For</span> i = 1 <span class="TOKEN">To</span> 10
Application.DoEvents()
<span class="TOKEN">Next</span>
frm.Show()
frm.txt_name_SCL.Text = s
frm.ID_Nr.Text = i
&nbsp;
<span class="TOKEN">End</span> <span class="TOKEN">If</span>
&nbsp;
<span class="TOKEN">End</span> <span class="TOKEN">Sub</span></pre></div>
Code eingefügt mit dem MOF Code Converter (http://www.ms-office-forum.net/forum/codeconverter.php)

Serge
28.10.2003, 14:56
Ich bin mir nicht sicher ob ich die Lösung habe.Aber soweit mir bekannt ist müssen alle Zuweisungen indem Formular passieren bevor du frm.show aufrufst.
Also stell die letzten Zeilen mal vor das frm.show.

Sicher bin ich mir aber nicht.Da ich jetzt Feierabend hab überprüfe ich das morgen nochmal etwas genauer.

TykaAndreas
28.10.2003, 21:29
hat leider nichts genützt , das Form , das mit Me geschlossen werden soll bleibt offen

TykaAndreas
06.11.2003, 17:36
hab da was gefunden :
http://groups.google.de/groups?q=Objektverweise+freigeben&hl=de&lr=&ie=UTF-8&selm=3c62719b%40news.basicworld.com&rnum=2

bisher war das Öffen an Validated gebunden, nachdem was in dem Beitrag steht könnte dadurch das Schliessen verhindert werden(User drückt Tabtaste- ValidatedEreigniss- Ereigniss im nächsten Textfeld)

ich nehm jetzt Keypress, die andere Variante wär mir lieber , seh aber kein Weg um aus diesem - schliess das, öffne das , öffne das nicht mehr- rauszukommen