Form aktualisiert nicht / Visual Studio

18 Jun 2015
371
136
43
Germany
#1
Hallo zusammen :smile:

Arbeite momentan bisschen im Visual Studio, jetzt habe ich das Problem wenn ich meine Form ändere z.B einen Button oder Textbox verschiebe und den Code veränder, dass die Form sich nicht auf den neusten Stand aktualisiert wenn ich den Prozess Starte.

Hoffe das ist verständlich :grin: Bin noch ziemlich neu in dem Bereich
 

Yusaku

Donator
18 Feb 2015
297
69
28
#5
Hmm, bin mir nicht sicher ob dir das jetzt so spät noch weiterhilft, vielleicht aber für andere die das lesen / finden und die Hilfe brauchen.

Ganz genau verstehe ich dein Problem nicht, allerdings vermute ich mal dass du per Knopfdruck deine Textbox verschiebst und sobald du das Programm neustartest die Textbox wieder im Ursprungszustand ist, seh ich das richtig? ^^

Falls ja gibst du ja an wie weit bzw wohin sie sich bewegen soll bei dem Knopfdruck.

Wenn du nun möchtest dass genau diese Position gespeichert wird kommt es nun darauf an ob es sofort gespeichert werden soll (Timer) oder ob das egal ist wann es gespeichert wird hauptsache es ist beim nächsten Restart wieder da wo du es zuletzt hattest (Form Closing)

Zuerstmal der Timer: Den solltest du so einstellen dass er dir passt, allerdings nicht so dass er praktisch dauerspammt, also den Timeintervall auf 3000 (o.ä.) setzen und in den Code des Timers ermittelst du nun die Position von Textbox1 und speicherst die Position über My.Settings

Bei Form Closing genau das gleiche allerdings schreibst du es da nun in das Event "Form Closing", ermittelst also dort wieder die Position und speicherst das wieder über die My.Settings

Beide Methoden würden ebenfalls funktionieren falls du die Textbox per Maus verschieben möchtest. Hierbei ist es egal ob der Verschiebungsprozess per Knopfdruck (Code) oder per Mausziehen stattfindet beim Speichern liest du ja sowieso die letzte Position aus welche dann gespeichert wird.

Hoffe konnte dir bzw den jenigen die ein ähnliches Problem haben weiterhelfen auch wenn es etwas spät ist hihi
 

ShynoX

Donator
13 Jan 2014
701
778
93
20
Germany | Hamburg
shynox.me
#6
Hmm, bin mir nicht sicher ob dir das jetzt so spät noch weiterhilft, vielleicht aber für andere die das lesen / finden und die Hilfe brauchen.

Ganz genau verstehe ich dein Problem nicht, allerdings vermute ich mal dass du per Knopfdruck deine Textbox verschiebst und sobald du das Programm neustartest die Textbox wieder im Ursprungszustand ist, seh ich das richtig? ^^

Falls ja gibst du ja an wie weit bzw wohin sie sich bewegen soll bei dem Knopfdruck.

Wenn du nun möchtest dass genau diese Position gespeichert wird kommt es nun darauf an ob es sofort gespeichert werden soll (Timer) oder ob das egal ist wann es gespeichert wird hauptsache es ist beim nächsten Restart wieder da wo du es zuletzt hattest (Form Closing)

Zuerstmal der Timer: Den solltest du so einstellen dass er dir passt, allerdings nicht so dass er praktisch dauerspammt, also den Timeintervall auf 3000 (o.ä.) setzen und in den Code des Timers ermittelst du nun die Position von Textbox1 und speicherst die Position über My.Settings

Bei Form Closing genau das gleiche allerdings schreibst du es da nun in das Event "Form Closing", ermittelst also dort wieder die Position und speicherst das wieder über die My.Settings

Beide Methoden würden ebenfalls funktionieren falls du die Textbox per Maus verschieben möchtest. Hierbei ist es egal ob der Verschiebungsprozess per Knopfdruck (Code) oder per Mausziehen stattfindet beim Speichern liest du ja sowieso die letzte Position aus welche dann gespeichert wird.

Hoffe konnte dir bzw den jenigen die ein ähnliches Problem haben weiterhelfen auch wenn es etwas spät ist hihi
Timer != Sofort

Die Position wird doch per Knopfdruck angepasst. Warum nicht einfach in das Button.clicked Event?!
 

Yusaku

Donator
18 Feb 2015
297
69
28
#7
Timer != Sofort

Die Position wird doch per Knopfdruck angepasst. Warum nicht einfach in das Button.clicked Event?!
Geht natürlich auch, habe hier aber den Timer gewählt da ich nicht weis ob er das ganze auf Reihenfolge machen möchte. Sprich Button1 drücken, Textbox wandert 50 pixel weiter nach rechts, Button1 erneut drücken, Textbox wandert erneut 50 Pixel von der letztgespeicherten Position nach rechts usw. Deshalb der Timer damit es zwischengespeichert wird.

Finde die Lösung so einfacher, ist einerseits übersichtlicher und es hängt nicht vom Button ab ob man ihn drückt sondern es geschieht eher passiv
 

ShynoX

Donator
13 Jan 2014
701
778
93
20
Germany | Hamburg
shynox.me
#8
Geht natürlich auch, habe hier aber den Timer gewählt da ich nicht weis ob er das ganze auf Reihenfolge machen möchte. Sprich Button1 drücken, Textbox wandert 50 pixel weiter nach rechts, Button1 erneut drücken, Textbox wandert erneut 50 Pixel von der letztgespeicherten Position nach rechts usw. Deshalb der Timer damit es zwischengespeichert wird.

Finde die Lösung so einfacher, ist einerseits übersichtlicher und es hängt nicht vom Button ab ob man ihn drückt sondern es geschieht eher passiv
PSEUDO
Code:
function button1Clicked() {
.......
... ..
.......
      if textbox.position.x + 50 < Form.width
            textbox.position.x += 50
            mySettings.TextboxPos += 50
}
3 Zeilen und du bist durch. Einfacher? Definitiv diese. Schöner? Definitiv diese. Warum passiv wenn aktiv auch geht und auf das selbe Resultat hinausläuft + Weniger Performance frisst (ja n 3 Sekunden Timer ist jetzt nicht das Leistungshungrigste, aber dennoch)

Außerdem, was ist wenn er den Button clicked, die Textbox sich verschiebt und er instant daraufhin das Projekt schließt? Das hast du im Worst Case noch die Zeit die du warten musst, damit der Timer mal triggered und das was eigentlich geschehen soll, geschieht nicht.
 
Last edited:

Yusaku

Donator
18 Feb 2015
297
69
28
#9
Stimmt, an den Worst Case habe ich jetzt nicht gedacht ^.^ Aber klar so wie du aufgezeigt hast ist da dann wohl die bessere Lösung, wollte mit dem Timer wie anfangs geschrieben eigentlich nur 2 Beispiele nennen, den Rest oder gar besser hätte er ja von selbst machen können :grin:
 

yaavn

Member
14 Jun 2017
61
54
18
Dortmund
#10
Hallo zusammen :smile:

Arbeite momentan bisschen im Visual Studio, jetzt habe ich das Problem wenn ich meine Form ändere z.B einen Button oder Textbox verschiebe und den Code veränder, dass die Form sich nicht auf den neusten Stand aktualisiert wenn ich den Prozess Starte.

Hoffe das ist verständlich :grin: Bin noch ziemlich neu in dem Bereich
Ich hab manchmal, dass sich die Form nicht direkt aktualisiert. Dann wähle ich kurz einen anderen Tab aus, z.B. den des Designers und wechsel dann wieder auf den der Form zurück dann passt alles :smile:
Wenn das nicht hilft kannste mal probieren das Projekt vor dem Ausführen abzuspeichern