Speichern aber keine Variablen

Decadence

Grünschnabel
Huhu :)

Ich wälz mich jetzt schon seit einer Stunde durch das Forum aber hab noch immer nicht das richtige für meine Bedürfnisse gefunden.

Ich hab in meinem Programm mehrere Options..und in einer von diesen ist dann eine neue Form mit massig Checkboxen. So, jetzt ist es so das der Optionbutton farblich rot hinterlegt ist, da ja in der anderen Form noch nicht alles angeklickt worden ist. Wenn alles angeklickt worden ist, soll der Hintergrund des Buttons grün werden.

Das war zwar eigentlich auch nicht meine Hauptfrage, wäre aber trotzdem nett, falls mir jemand sagen könnte, wie ich Formübergreifend die Backcolor von einem Optionsbutton ändern kann :o)

Ansonsten zu meiner Hauptfrage: Ich will, dass die abgehakten Kästchen auch wirklich alle abgehakt bleiben, auch wenn ich das Programm beende und wieder neu starte... Nun les ich dauernd was von Variablenwerte speichern etc...nur wie ich einfach das ganze Projekt beim Beenden speichere (d.h. mit allen neu abgehakten Checkboxen etc...) und beim starten auch alles wieder öffne, hab ich bis jetzt nicht gefunden was vielleicht auch daran liegt, das manche Texte einfach so fies geschrieben sind, das kein Anfänger sie versteht :) Nichts für Ungut aber manchmal brauch ich echt allein nur 10 Minuten bis ich überhaupt verstanden hab, worum es in dem thread überhaupt geht...

Also ich würde mich WIRKLICH freuen, wenn mir jemand auf die 2 Sachen eine Antwort geben könnte, weil derzeit blockieren diese 2 Fragen mein ganzes Projekt :))

Vielen Dank und Liebe Grüsse

Deca
 
Ich würde die Einstellungen in der Registry speichern.
Das ist ziemlich leicht und die gängige Methode, gerade bei solchen Dingen sinnvoll.

Schreiben:
Code:
Private Sub Form_Unload(Cancel As Integer)
   SaveSetting App.Title, "Einstellungen", "chk_checkbox_bg", "green"
   ...
End Sub

Lesen:
Code:
Private Sub Form_Load()
   Variable = GetSetting(App.Title, "Einstellungen", "chk_checkbox_bg", "(unbekannt)")
   ...
End Sub

Gruß,

suye
 
du kannst aber auch aus jeder form ein Ereignis in einer anderen Form ändern.

Beispiel:

Du hast 2 Formen ( Form1,Form2 ) . In der Form 1 befindet sich ein Textfeld. Um die Hintergrundfarbe aus Form 2 heraus in der Form1 zu änder benutze ich einfach folgenden Code
Code:
Form1.text1.Backcolor = deineFarbe
 
Ahhh sehr schön :)

Danke euch beiden :) Das mit den Farben ändern klappt auch sehr gut jetzt ;) Nur noch das mit dem Speichern und Laden ist mir noch nicht ganz sooo verständlich aber vielleicht wirds das wenn wir mein Beispiel nehmen würden..

Ich habe eine Form namens form_zone. Dort drin ist ein OptionsButton mit rotem Hintergrund. Bei klick kommen wir auf die Form form_select. Dort sind sagen wir mal 10 Checkboxen....jetzt klick ich alle 10 Checkboxen an und der OptionsButton "opt_test" wechselt von rot auf grün..und wie speicher ich das jetzt genau sorry aber ich blicks "noch" nicht...
 
Ok, nun hat sich doch noch ein Problem mit den Farben aufgetan:

Also ich hab in form1 einen Optionbutton nennen wir ihn opt_test dessen Backcolor rot ist. Nun hab ich in form2 eine checkbox nennen wir sie chk_test

So nun wird bei klick auf den Optionsbutton mit dem Hide/Show Befehl die form2 geöffnet und ich wollte es nun so handhaben das bei abgehakter checkbox chk_test die Backcolor von opt_test grün wird..

Im ganzen schaut das dann wie folgt aus

If chk_test.Value = True Then
form1.opt_test.BackColor = "green"

das ganze hab ich in die Private Sub Form_Load von form2 geschrieben nur wie zu erwarten war hat das gnze natürlich nicht funktioniert :D

Was hab ich denn nun im Endeffekt falsch gemacht und wie lös ich das Problem? und sorry nochmal für die Fragerei aber ich wäre immer noch dankbar wenn mir jemand das speichern/laden prinzip anhand meines Beispiels von oben erklären könnte da ich so nur noch mehr verwirrt bin

DANKE

Liebe Grüsse aus dem verregneten München

Deca
 
die Frage ist wann wird deine 2. Form geladen ?

das Form_Load ereignis wird wenn die Form schon mal geladen war nicht nochmals geladen
also setze es mal ins activate oder ruf explicit das unload der form auf

Gruß aus Kölle ;-)
bb
 
Was soll denn "green" für eine Farbe sein?! Versteht VisualBasic Englisch?!
-->
Code:
form1.opt_test.BackColor =vbGreen
 
Private Sub Form_Activate()
If chk_burningq1.Value = True Then
form_zone.opt_burning.BackColor = vbGreen
End If
End Sub

so, hab versucht das geschriebene umzusetzen nur funktioniert das jetzt immer noch nicht :// bin langsam echt am verzweifeln....kann es vielleicht daran zusammenhängen wenn ich die checkbox abhake dann geh ich ja mit meinem Back button ( sprich form_2.Hide und form_zone.Show) auf die 1. Form zurück..das es vielleicht damit zusammenhängt

Ich werd echt noch wahnsinnig :)
 
Ok sieht dann wohl so aus als ob ich irgendwie anders mit diesem Problem fertig werden muss :)

Trotzdem danke für all die Hilfe bis jetzt..

Liebe Grüsse

Deca
 
EDIT: Ok, habe das mit den Farben jetzt hinbekommen nun brauch ich nur noch zu wissen wie ich das ganze abspeicher und dann wär ich vollauf zufrieden :)))

Das Beispiel von oben scheint recht simpel doch irgendwie blick ich nicht ganz wie sich das in die Tat umsetzen lässt? soweit ich das sehe müsste ich ja dann ein Save-Command für jedes einzelne Objekt anfertigen was dann so um die 2000 Stück währen *gg* gibts denn keine Möglichkeit das ich einfach das gesamte Projekt mitsamt allen Formen und Objekten einfach so speichern und laden kann ohne das ich immer explizit angeben muss was ich denn nun genau gespeichert haben will? DANKE DANKE DANKE bis hierher nochmal :))) Ihr seid echt Top

Liebe Grüsse

Deca
 
Zuletzt bearbeitet:
Zurück