Autor Beitrag
vreden123
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 95
Erhaltene Danke: 2



BeitragVerfasst: Di 29.03.11 22:18 
Hallo,

ich habe ein Usercontrol erstellt in dem nur buttons angeklickt werden können, die Buttons waren früher in der MainForm. Allerdings habe ich dies wegen der Übersicht in ein neues Usercontrol gesetzt.
Wenn ich jetzt das Usercontrol in die MainForm ziehe kommt folgender fehler:

[url=www.directupload.net]user defined image[/URL]

In folgendem Code soll der fehler sein:

ausblenden C#-Quelltext
1:
Image img_blue_play = Image.FromFile("img/button_blue_play.png");					


Ich muss wohl sagen das das Usercontrol im ordner Formen/Info ist, wo die MainForm nicht ist. Aber wenn ich das programm starte ist alles ja eh in eine Datei oder?
vreden123 Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 95
Erhaltene Danke: 2



BeitragVerfasst: Di 29.03.11 22:38 
Wenn ich das Bild in Properties.Resources lade und dann nicht aus .FromFile lade sondern direkt von Properties.Resources.bild; dann gehts aber ich möchte die Bilder lieber direkt laden.
jaenicke
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 19315
Erhaltene Danke: 1747

W11 x64 (Chrome, Edge)
Delphi 11 Pro, Oxygene, C# (VS 2022), JS/HTML, Java (NB), PHP, Lazarus
BeitragVerfasst: Mi 30.03.11 02:02 
user profile iconvreden123 hat folgendes geschrieben Zum zitierten Posting springen:
ausblenden C#-Quelltext
1:
Image img_blue_play = Image.FromFile("img/button_blue_play.png");					
Da fehlt die Pfadangabe, das kann nicht stabil funktionieren. Denn ob zufällig das Arbeitsverzeichnis immer das für dich "richtige" ist, kannst du ja normalerweise nicht wissen.

Den Pfad der eigenen Exe solltest du so bekommen:
ausblenden C#-Quelltext
1:
2:
System.IO.Path.GetDirectoryName( 
  System.Reflection.Assembly.GetExecutingAssembly().GetName().CodeBase);
Th69
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Moderator
Beiträge: 4798
Erhaltene Danke: 1059

Win10
C#, C++ (VS 2017/19/22)
BeitragVerfasst: Mi 30.03.11 09:30 
Hallo,

oder aber die Application.StartupPath-Eigenschaft verwenden.

@vreden124, soll der Anwender die Bilder austauschen dürfen, oder warum möchtest du keine Ressourcen verwenden?
vreden123 Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 95
Erhaltene Danke: 2



BeitragVerfasst: Mi 30.03.11 14:06 
@Th69

Austauschen soll der Benutzer die nicht.
Die .exe Datei soll nicht so groß werden, deswegen die Bilder.
Das Programm kann man nacher installieren und im Installationspfad gibt es dann einen Ordner img.

Nur in der MainForm brauchte ich nicht den kommpletten Pfad angeben. Es reichte wenn ich sagte das das im Ordner img ist.
jaenicke
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 19315
Erhaltene Danke: 1747

W11 x64 (Chrome, Edge)
Delphi 11 Pro, Oxygene, C# (VS 2022), JS/HTML, Java (NB), PHP, Lazarus
BeitragVerfasst: Mi 30.03.11 15:09 
user profile iconvreden123 hat folgendes geschrieben Zum zitierten Posting springen:
Nur in der MainForm brauchte ich nicht den kommpletten Pfad angeben. Es reichte wenn ich sagte das das im Ordner img ist.
Reiner Zufall... weil zufällig das Arbeitsverzeichnis genau das Verzeichnis der Exe war. Öffne einen Dateidialog (Laden, Speichern) und schon ist das nicht mehr so...