Du bist nicht angemeldet.

Stilllegung des Forums
Das Forum wurde am 05.06.2023 nach über 20 Jahren stillgelegt (weitere Informationen und ein kleiner Rückblick).
Registrierungen, Anmeldungen und Postings sind nicht mehr möglich. Öffentliche Inhalte sind weiterhin zugänglich.
Das Team von spieleprogrammierer.de bedankt sich bei der Community für die vielen schönen Jahre.
Wenn du eine deutschsprachige Spieleentwickler-Community suchst, schau doch mal im Discord und auf ZFX vorbei!

Werbeanzeige

SilverDragon

Frischling

  • »SilverDragon« ist der Autor dieses Themas

Beiträge: 9

Wohnort: Uetersen

Beruf: Informatiker

  • Private Nachricht senden

1

20.04.2014, 01:38

C# Grafik in PictureBox sichern und Farbe ändern

Moin,

ich möchte in meinem Programm dem Nutzer die Möglichkeit geben ein eigendes Logo ins Programm zu laden und die Farbe zu ändern
und das beides beim Neustart erhalten bleibt.

Das mit der Farbe ändern wollte ich mit einer zweiten Form umsetzen.

C#-Quelltext

1
2
3
4
5
6
        private void cmdFarbeändern_Click(object sender, EventArgs e)
        {
            Form2 frm = new Form2();
            frm.Show();
            //this.lblHilfe.Text = "Leider ist diese Funktion noch nicht Aktiv";
        }

Den Code habe ich genommen um die zweite Form zu öffnen und in der setze ich dann mehrere Buttons um die Farbe zu ändern, und habe den Buttons dann den Code
gegeben.

C#-Quelltext

1
2
3
4
5
6
        private void cmdDunkelrot_Click(object sender, EventArgs e)
        {
            Form1 frm = new Form1();
            frm.BackColor = Color.DarkRed;
            this.Close();
        }

Nur ändert sich die Farbe der Form1 nicht.

Und beim Logo ändern habe ich den Code genommen um ein Bild in die Form zu laden:

C#-Quelltext

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
        private void cmdLogoändern_Click(object sender, EventArgs e)
        {
            OpenFileDialog fDialog = new OpenFileDialog();
            fDialog.Title = "Computer durchsuchen";
            fDialog.Filter = "PNG Datei (*.png)|*.png|JPG Datei (*.jpg)|*.jpg|PNG Datei (*.gif)|*.gif";
            fDialog.InitialDirectory = @"C:\";
            if (fDialog.ShowDialog() == DialogResult.OK)
            {
                lblHilfe.Text = ("Datei " + new System.IO.FileInfo(fDialog.FileName).Name + " aus Pfad " + new System.IO.FileInfo(fDialog.FileName).Directory + " Geladen");
                this.picBoxLogo.Load(fDialog.FileName);
            }
            fDialog.AddExtension = true;
            fDialog.CheckFileExists = true;
            fDialog.CheckPathExists = true;
            fDialog.InitialDirectory = @"C:\Windows";
            fDialog.ShowHelp = true;         
        }



Wie kann ich es jetzt umsetzen das beides auch bei einem Neu start des Programms oder PC´s gesichert ist, und das sich die Farbe der Form 1 ändert?

2

20.04.2014, 20:29

Das die Bilder auch beim Neustart verfügbar sind, könnte klappen indem du die Datei in den Programm Ordner kopierst und dann immer den Pfad läd aus dem das Bild kopiert wird.

LG :)

SilverDragon

Frischling

  • »SilverDragon« ist der Autor dieses Themas

Beiträge: 9

Wohnort: Uetersen

Beruf: Informatiker

  • Private Nachricht senden

3

21.04.2014, 14:06

Okey, ich werde mal versuchen ob ich das so hinbekomme. Danke für den Tipp

Toemsel

Treue Seele

Beiträge: 310

Wohnort: OÖ

Beruf: Student und Programmierer

  • Private Nachricht senden

4

22.04.2014, 06:58

C#-Quelltext

1
2
3
Form1 frm = new Form1();
            frm.BackColor = Color.DarkRed;
            this.Close()


Du erzeugst ein neues Objekt der Form1, änderst die Farbe und beendest die aktuelle Form.
Der GC wird dein Objekt bald aufsammeln und den Speicher wieder freigeben, denn verwendet wird das instanzierte Objekt nicht.

Entweder rufst du noch "frm.ShowDialog()" auf, oder du änderst die Farbe des bereits existierenden Form objektes.
(Im Konstruktor das Objekt übergeben und in der Subform speichern)

birdfreeyahoo

Alter Hase

Beiträge: 756

Wohnort: Schorndorf

Beruf: Junior Software Engineer

  • Private Nachricht senden

5

22.04.2014, 17:24

Das die Bilder auch beim Neustart verfügbar sind, könnte klappen indem du die Datei in den Programm Ordner kopierst und dann immer den Pfad läd aus dem das Bild kopiert wird.


Davon rate ich ab, da das mit der UAC interferieren könnte. Lieber Dokumente oder AppData verwenden.

Werbeanzeige