hallo,
ich benütze VS 2008 und progge für WM5.0
ich habe ein Bild (bild1.jpg)in mein Projekt eingefügt.
Über Buttion1 soll dann anstelle von bild1.jpg das bild bild2.jpg angezeigt werden.
Idee?
Druckbare Version
hallo,
ich benütze VS 2008 und progge für WM5.0
ich habe ein Bild (bild1.jpg)in mein Projekt eingefügt.
Über Buttion1 soll dann anstelle von bild1.jpg das bild bild2.jpg angezeigt werden.
Idee?
Im Clicked Event des buttons das Bild setzen.
nein, das meine ich nicht.
Ich habe einen Kopf "Bild ändern" und eine pictureblbla der mir bild1.jpg lädt.
Dann starte ich mein Prog...
Wenn ich den Kopf "Bild ändern" drücke, dann soll bild1.jpg nicht mehr da sein, sondern ich will das bild2.jpg sehen.
Was ist eine "pictureblbla"?
Sind das zwei verschiedene Applikationen?
Dachte Du hättest einen Knopf, der zwischen Bildern wechselt und ein PictureControl, das das Bild anzeigt.
ok,
unabhängig von alleim.(wegem dem verständnis)
Neue Projekt:
1.Ich lege einen Knopf an "BIld ändern" und eine Picturebox und die soll das Bild "bild1.jpg" laden
2.Dann führe ich das Prog aus
3.Wenn ich auf dem Kopf "Bild ändern" drücke, dann soll sich in der Picturebox bild1.jpg zu bild2.jpg ändern
Ja, dann bleibe ich bei meiner Antwort in #2.
PictureBox1.Load kennt meint VS8 nicht :-(
gibt es eine Alternative ?
Load ist ein Event der Form. Die PictureBox hat ein Member namens Image, das im Event Click des Buttons dann gesetzt.
NEIN :-)
du verstehst mich nicht :-)
Ich will ein anderes Bild laden, wenn ich den Knopf im Programm drücke :-)
Ich verstehe Dich schon. ;)
Im click event (im Designer auf den Button doppelklicken) und dann das Bild setzen:
Code:Public Class Form1
Private Sub cmdImage_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cmdImage.Click
picImage.Image = New Bitmap("//bild.jpg")
End Sub
End Class
Nööööö :-)
1.Möglichkeit:
Im Evant Bild aussuchen, bzw im Visual Studio. Dann kann man es kompilieren lasse und das Bild ist da.
2. Möglichkeit:
Knopf 1 inhalt:
picturebox.load = "bild1.jpg
Wenn ich möglichkeit 1 nehme muss ich jedem, der mein Prog möchte mein VS 2008 mitgeben :-)
Möglichkeit 2 geht nicht, er VS 2008 kennt load nicht.
Willst Du ein Bild der Applikation mitgeben? Dann rechts klick auf das Projekt, 'add existing item' wählen, im Filter Images auswählen und das Bild auswählen. (Das Bild wird dann in den Programmfolder kopiert. Man kann es in das exe einbinden indem man das Bild im VS selektiert (also den Namen) und dann in den Properties im Content embedded resource auswählt)
Soll bei 2. der User ein Bild auswählen?
1000 dank, dass du so viel gedult mit dir hast und du dir die Zeit nimmst.
während Prog soll sich das Bild änder per Knopf klick.
Hier ein Beispiel, wie man ein Bild einem PictureControl zufügt. Das Beispiel hat zwei Bilder (testimage.png und testimageEmbedded.png), die dem VS Projekt zugefügt worden sind (rechts klick aufs Projekt, add existing..., den Filter auf images wechseln).
testimage.png ist ein Bild, das im gleichen Ordner wie das exe liegen wird. testimageEmbedded.png ist in das exe kompiliert. Einstellungen sind im Screenshot rot gekennzeichnet.
Anhang 52729
Folgender Code zeigt, wie man die Bilder setzt:
Code:Imports System.IO
Imports System.Reflection
Public Class Form1
Public Shared Function GetApplicationPath() As String
Return Path.GetDirectoryName(Assembly.GetExecutingAssembly().GetName().CodeBase)
End Function
Private Sub cmdImage_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cmdImage.Click
Dim fileInfo As New FileInfo(Path.Combine(GetApplicationPath(), "testimage.png"))
If (fileInfo.Exists) Then
picImage.Image = New Bitmap(fileInfo.FullName)
End If
End Sub
Private Sub cmdEmbedded_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cmdEmbedded.Click
picImage.Image = New Bitmap(Assembly.GetExecutingAssembly.GetManifestResourceStream("TestVB.testimageEmbedded.png"))
End Sub
End Class
thx,
bin irgendwie zublöd dafür...
die 2 Imports habe ich vor dem Form1 eingefügt.
Die Public share und die sub habe ich einfach in den Quellcode nach Public Class Form1 eingefügt.
Der folgende Code habe ich in den Knopf eingefügt...
picImage.Image = New Bitmap(Assembly.GetExecutingAssembly.GetManifestResourceStream("TestVB.testimageEmbedded.png"))
Es kommt...
error BC30506: Handles clause requires a WithEvents variable defined in the containing type or one of its base types.
Hast Du eine Bild namens testimageEmbedded.png in das Projekt TestVB eingefügt und wie oben beschrieben als embedded resource deklariert? Wenn das Projekt 'MeinProjekt' und das Bild 'MeinBild.jpg' heisst, dann muss der string "TestVB.testimageEmbedded.png" geändert werden zu "MeinProjekt.MeinBild.jpg"!
Und "in den Knopf" bedeutet im event Click des Buttons? Der Event wurde durch Doppelklick auf den Button im Form Designer erstellt?
erstmal thx.
Picimage.Image = New Bitmap(Assembly.GetExecutingAssembly.GetManifestResourceStream("SmartDevice3.test1.jpg"))
ergebis:
C:\Dokumente und Einstellungen\tomycat\Eigene Dateien\Visual Studio 2008\Projects\SmartDevice3\SmartDevice3\Form4.vb(11) : error BC30506: Handles clause requires a WithEvents variable defined in the containing type or one of its base types.
Ich spiele mit dem Gedanken, ich klicke auf dem Knopf1 und dann wird
ieexplorer bild1.jpg ausgeführt?
Oder ist deine Lösung schneller?
Sorry, wenn ich nerve.
Also, zuerst einmal nervt hier niemand.
Nun, wenn Du willst, kannst Du die Form4.vb hier anhängen oder mir mailen. Den IE öffnen, um ein Bild anzuzeigen wollen wir nicht machen. :)
P.S.:
Es gibt sogar das sog. WebControl, indem man html anzeigen kann. Es ist aber mit Vorsicht einzusetzen, da es einiges an Resourcen braucht.
ok,thx,
Also, SmartDevice3 heist mein Projekt.Form4 ist der Bereich, die Sache mit dem Bild.Das wäre echt eine Super Sache wird in den Code hier reinbekommt.MEGA THX im voraus.
Bild1.jpg und Bild2.jpg spielen mit.
Zitat:
Public Class Form4
Private Sub PictureBox1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Picimage.Click
'Mein Bild hier soll reingeladen werden.
End Sub
Private Sub MenuItem2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MenuItem2.Click
' Mein Buttion 2
End Sub
Private Sub MenuItem1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MenuItem1.Click
' Mein Buttion1
End Sub
End Class
kennst du eine Seite, wo ich Zeile für Zeile verstehen lerne, sprech ASM.
PHP-Code:
Imports System.IO
Imports System.Reflection
Public Class Form1
Public Shared Function GetApplicationPath() As String
Return Path.GetDirectoryName(Assembly.GetExecutingAssembly().GetName().CodeBase)
End Function
Private Sub cmdImage_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cmdImage.Click
Dim fileInfo As New FileInfo(Path.Combine(GetApplicationPath(), "testimage.png"))
If (fileInfo.Exists) Then
picImage.Image = New Bitmap(fileInfo.FullName)
End If
End Sub
Private Sub cmdEmbedded_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cmdEmbedded.Click
picImage.Image = New Bitmap(Assembly.GetExecutingAssembly.GetManifestResourceStream("TestVB.testimageEmbedded.png"))
End Sub
End Class
Was genau verstehst Du nicht? Mit dem Beispiel wollte ich Dir zwei Möglichkeiten (erste mit Bild testimage.png am gleichen Ort wie das exe und die zweite mit Bild im exe) zeigen, wie man ein Bild in ein PictureBoxControl picImage einfügen kann.
Also im Fall, wo das Bild neben dem exe liegt (cmdImage_Click) wird ein FileInfo erstellt aus dem Verzeichnis des exes und des Bildnamens. Falls dieses File existiert, wird es der PictureBox picImage gesetzt.
ok,
kurz für Anfänger?
Mein Ziel ist es per klick ein Bild zu laden ?!
PHP-Code:
Private Sub cmdEmbedded_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cmdEmbedded.Click
picImage.Image = New Bitmap(Assembly.GetExecutingAssembly.GetManifestResourceStream("TestVB.testimageEmbedded.png"))
End Sub
1.was ist picImage ? Muss ich das definieren?
2. Dumme Frage, warum New Bitmap? Was ist mit jpg?
3.ok, Assembly steht für Assembler und GetExecutingAss soll Assembler nutzen ?! was ist dann :GetManifestResourceStream <- ??
1. picImage ist ein PictureBox Control, das auf die Form kommt und das Bild darstellt. (im Designer aus der Toolbox nehmen)
2. der Klassenname ist Bitmap und verarbeitet .bmp, .jpg, .png
3. Assembly steht für .exe oder .dll, hat also nichts mit Assembler zu tun. Wir möchten hier das Bild aus der exe rauslesen. Die andere Methode liefert den Pfad der exe. Das muss so gemacht werden, da wir nicht wissen wo die exe installiert wird (Gerät oder Speicherkarte) und auch wichtig, da auch verschiedene Sprachen von WM unterstützt werden sollen. (Programme, Program Files, Storage Card, ...) Und da hier das Bild als 'embedded resource' definiert wurde, muss es mit GetManifestResourceStream geladen werden. Das ist nur nötig im Falle, dass das Bild in die exe intergriert wurde.
Hast Du das Bild bereits zur Kompilierzeit oder wird es zur Laufzeit vom User ausgewählt? Vom Netz geladen?
erstmal mega thx.
Sorry ich setz gerade nicht dem VC 2008.Morgen kann ich dir antworten darauf.
1.ok,ich kann annehmen, dass picimages der Name von meiner PictureBox Control?Richtig?
2. Der Knopf, was hat der für eine Auswirkung?
3.Welche Auswirkung hat jetzt der folgende Knopf?
Zitat:
Private Sub cmdImage_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cmdImage.Click
Dim fileInfo As New FileInfo(Path.Combine(GetApplicationPath(), "testimage.png"))
If (fileInfo.Exists) Then
picImage.Image = New Bitmap(fileInfo.FullName)
End If
End Sub
1. ja
2. einfach nur als Test, der wenn man draufdrückt das Bild namens testimage.png, das am gleichen Ort, wie das exe ist, lädt und dem PictureBox Control setzt.
ok,
das Steht in meinem Knopf:
Picimage ist mein Controll PictureZitat:
Picimage.Image = New Bitmap(Assembly.GetExecutingAssembly.GetManifestResourceStream("Form4.1.jpg"))
1.jpg ist in meinem release Verzeichnis sowie in meinem Ordner von meinem PocketPC
Form4 ist das 4 Dialog Fenster.
Nach anklicken vom Buttion Test stützt mein Prog ab:
A first chance exception of type 'System.NullReferenceException' occurred in System.Drawing.dll
An unhandled exception of type 'System.NullReferenceException' occurred in System.Drawing.dll
Da das Bild nicht embedded sondern direkt als Datei eingelesen wird, muss die andere Variante genommen werden: (ersetze die Zeile durch das Folgende)
Code:Dim fileInfo As New FileInfo(Path.Combine(GetApplicationPath(), "1.jpg"))
If (fileInfo.Exists) Then
Picimage.Image = New Bitmap(fileInfo.FullName)
End If
GetApplicationPath hat eine blaue Welle und das "h" ist rot unterstrichen.
Falls die Methode in einem anderen File definiert ist (z.B. Form1), dann Form1.GetApplicationPath() verwenden.
Jetzt unterstreicht er mir mit Blau:Zitat:
Dim fileInfo As New FileInfo(Path.Combine(Form4.GetApplicationPath(), "1.jpg"))
If (fileInfo.Exists) Then
Picimage.Image = New Bitmap(fileInfo.FullName)
End If
Form4.GetApplicationPath
hmmm es ist so, dass ich NUR in Form4 das sche*** Bild lade :-)
Der Test knopf ist in Form4
Dann kopier die Methode GetApplicationPath in die Form4. Was kommt denn für eine Fehlermeldung beim Kompilieren.
thx und schöne Weihnachten.
Das Bild soll in Form4 kommen, der Testknpf ist in Form4.
Ich habe es nicht kompiliert. Gleich nach dem einfügen von deinem Quellcode wird GetApplicationPath Blau unterstrichen.
Zusatz...
Wenn ich es compiliere kommmt:
error BC30451: Name 'GetApplicationPath' is not declared.
------------
Jetzt kommt das Bild mit:
Dim fileInfo As New FileInfo("My Documents\besteller\1.jpg")
If (fileInfo.Exists) Then
Picimage.Image = New Bitmap(fileInfo.FullName)
End If
Nur muss das dann geändert werden, da 'My Documents' nur im englischen WM so heisst.
ok,thx.:-):-)