Windows Azure Cloud Storage ermöglicht es Ihnen bereits ab 0,10€ pro GB/Monat die Vorteile der Cloud zu nutzen.
Hypercell ein ] Hypercell aus ] Zeige Navigation ] Verstecke Navigation ]
c++.de  
   
Advanced Developers Conference     
Bücher-Shop mit Amazon (Buchkategorien)C++ : Referenzen zu C++ : C++ Builder : Visual C++ : C# : Java : Spieleprogrammierung : Systemprogrammierung Linux : Software-Entwicklung : .NET : Compilertechnik : Algorithmen & Datenstrukturen : Objektorientierung : Entwurfsmuster : UML : eXtreme Programming : Scrum : Projektmanagement : Software-Testing : Datenbanken : Tom DeMarco : Dilbert : User Friendly
C/C++ Forum :: C# und .NET ::  Bitmap bei Buttonclick-event in picturebox laden     Zeige alle Beiträge auf einer Seite Auf Beitrag antworten
Autor Nachricht
Azrael89
Mitglied

Benutzerprofil
Anmeldungsdatum: 21.05.2010
Beiträge: 21
Beitrag Azrael89 Mitglied 10:28:47 01.09.2010   Titel:   Bitmap bei Buttonclick-event in picturebox laden            Zitieren

Guten Morgen,

da ich nach ner halben Stunde suchen im internet nix gefunden hab, was mir hilft, wende ich mich mal an die community:

ich habe in der Form1.cs ein buttonclickevent. wird dieses aufgerufen, startet eine extrene funktion, welche ein array zurück gibt. danach werden die werte des arrays zu prozentangaben gewandelt und in 5 textboxen ausgegeben.
jetzt möchte ich aber noch in einer picturebox ein bild anzeigen lassen, abhängig von der position des größeten wertes im array.

hier mal das buttonclick-event:
C# Code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
 private void btn_brain_Click(object sender, EventArgs e)
        {
            double[] _brain = new double[5];
            double sum = 0;
            int k = 0, max = 0;

            _brain = _neuralnetwork.Brain(_Bild);

            //von absolut in prozentzahlen
            sum = _brain.Sum();
            for (k = 0; k < 5; k++)
            {
                _brain[k] = (_brain[k] / sum) * 100;
            }

            //Ausgabe der Wahrscheinlichkeiten
            textBox1.Text = _brain[0].ToString() + " %";
            textBox2.Text = _brain[1].ToString() + " %";
            textBox3.Text = _brain[2].ToString() + " %";
            textBox4.Text = _brain[3].ToString() + " %";
            textBox5.Text = _brain[4].ToString() + " %";

            //Bildausgabe
            for (k = 0; k < 5; k++)
            {
                if (_brain[k] == _brain.Max())
                {
                    max = k;
                }
            }
            switch (max)
            {
                case 0:

                    break;
                case 1:
                   
                    break;
                case 2:
                   
                    break;
                case 3:
                   
                    break;
                case 4:
                   
                    break;
            }
        }
C# Code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
private void btn_brain_Click(object sender, EventArgs e)
{
double[] _brain = new double[5];
double sum = 0;
int k = 0, max = 0;

_brain = _neuralnetwork.Brain(_Bild);

//von absolut in prozentzahlen
sum = _brain.Sum();
for (k = 0; k < 5; k++)
{
_brain[k] = (_brain[k] / sum) * 100;
}

//Ausgabe der Wahrscheinlichkeiten
textBox1.Text = _brain[0].ToString() + " %";
textBox2.Text = _brain[1].ToString() + " %";
textBox3.Text = _brain[2].ToString() + " %";
textBox4.Text = _brain[3].ToString() + " %";
textBox5.Text = _brain[4].ToString() + " %";

//Bildausgabe
for (k = 0; k < 5; k++)
{
if (_brain[k] == _brain.Max())
{
max = k;
}
}
switch (max)
{
case 0:

break;
case 1:

break;
case 2:

break;
case 3:

break;
case 4:

break;
}
}
C# Code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
 private void btn_brain_Click(object sender, EventArgs e)
        {
            double[] _brain = new double[5];
            double sum = 0;
            int k = 0, max = 0;

            _brain = _neuralnetwork.Brain(_Bild);

            //von absolut in prozentzahlen
            sum = _brain.Sum();
            for (k = 0; k < 5; k++)
            {
                _brain[k] = (_brain[k] / sum) * 100;
            }

            //Ausgabe der Wahrscheinlichkeiten
            textBox1.Text = _brain[0].ToString() + " %";
            textBox2.Text = _brain[1].ToString() + " %";
            textBox3.Text = _brain[2].ToString() + " %";
            textBox4.Text = _brain[3].ToString() + " %";
            textBox5.Text = _brain[4].ToString() + " %";

            //Bildausgabe
            for (k = 0; k < 5; k++)
            {
                if (_brain[k] == _brain.Max())
                {
                    max = k;
                }
            }
            switch (max)
            {
                case 0:

                    break;
                case 1:
                   
                    break;
                case 2:
                   
                    break;
                case 3:
                   
                    break;
                case 4:
                   
                    break;
            }
        }


in die switch-case abfrage sollte nun die passende bitmap rein. dazu erstmal alle 5 in der form1.cs initialisiert:

C# Code:
        Bitmap circle = new Bitmap("circle.bmp");
        Bitmap rectangle = new Bitmap("rectangle.bmp");
        Bitmap triangle = new Bitmap("triangle.bmp");
        Bitmap B = new Bitmap("B.bmp");
        Bitmap X = new Bitmap("X.bmp");
C# Code:
Bitmap circle = new Bitmap("circle.bmp");
Bitmap rectangle = new Bitmap("rectangle.bmp");
Bitmap triangle = new Bitmap("triangle.bmp");
Bitmap B = new Bitmap("B.bmp");
Bitmap X = new Bitmap("X.bmp");
C# Code:
        Bitmap circle = new Bitmap("circle.bmp");
        Bitmap rectangle = new Bitmap("rectangle.bmp");
        Bitmap triangle = new Bitmap("triangle.bmp");
        Bitmap B = new Bitmap("B.bmp");
        Bitmap X = new Bitmap("X.bmp");


hier wird beim compilieren nun aber ein sog. Ausnahmefehler angezeigt. kann es sein, dass die bmp-dateien einfach im falschen ordner sind, wenn ja, welcher ist der richtige? oder hat das einen anderen ursprung?

desweiteren möchte ich wissen, ob ich im buttonclick-event überhaupt direkt auf die picturebox zugreifen kann oder ob ich da erst 5 funktionen für die 5 möglichkeiten machen muss, welche dann auf die picturebox zugreifen.
wenn man dem buttonclick-event ein painteventargs mitgibt, gefällt das dem compiler logischer weise gar nicht gut^^.
Dravere
Moderator

Benutzerprofil
Anmeldungsdatum: 13.06.2005
Beiträge: 7252
Beitrag Dravere Moderator 16:20:41 01.09.2010   Titel:   Re: Bitmap bei Buttonclick-event in picturebox laden            Zitieren

Azrael89 schrieb:
hier wird beim compilieren nun aber ein sog. Ausnahmefehler angezeigt.

Irgendjemand soll mir mal erklären, wieso die Leute nie die Fehlermeldung bei Supportanfragen mitangeben? Das ist doch sowas von logisch oder nicht? :confused:

Azrael89 schrieb:
kann es sein, dass die bmp-dateien einfach im falschen ordner sind, wenn ja, welcher ist der richtige? oder hat das einen anderen ursprung?

Ohne Fehlermeldung können wir dir das nicht sagen. Zudem wissen wir nicht, wo du die Bitmaps denn hingesetzt hast. Tut mir leid, wir sind nur normale Menschen, Drachen und andere Wesen, aber keine Hellseher.

Azrael89 schrieb:
desweiteren möchte ich wissen, ob ich im buttonclick-event überhaupt direkt auf die picturebox zugreifen kann oder ob ich da erst 5 funktionen für die 5 möglichkeiten machen muss, welche dann auf die picturebox zugreifen.
wenn man dem buttonclick-event ein painteventargs mitgibt, gefällt das dem compiler logischer weise gar nicht gut^^.

Du musst das Bitmap nur der Property Image von PictureBox zuweisen.

Grüssli

_________________
Danke für die Hilfe, Antwort oder Meinung!
C++: Std-Lib Referenz
C# .Net: MSDN kennt die Antwort
Azrael89
Mitglied

Benutzerprofil
Anmeldungsdatum: 21.05.2010
Beiträge: 21
Beitrag Azrael89 Mitglied 17:19:27 01.09.2010   Titel:              Zitieren

die fehlermeldung zeigt auf das semikolon am befehlsende und sagt:"Ungültiger parameter", hoffe das hilft dir.

und die bitmaps sind im hauptordner gespeichert, da wo auch die solution-datei ist.
Dravere
Moderator

Benutzerprofil
Anmeldungsdatum: 13.06.2005
Beiträge: 7252
Beitrag Dravere Moderator 18:24:27 01.09.2010   Titel:              Zitieren

Azrael89 schrieb:
die fehlermeldung zeigt auf das semikolon am befehlsende und sagt:"Ungültiger parameter", hoffe das hilft dir.

Nein, überhaupt nicht, weil das eine Interpretation von dir ist und nicht die tatsächliche Fehlermeldung. Daher gleich weitere Fragen:
1. Fehlermeldung? Ich dachte, dass du eine Ausnahme erhälst? Was ist es nun, eine Kompilerfehlermeldung oder eine Ausnahme bei der Ausführung?
2. Wenn es eine Ausnahme ist, wird es sicher nicht auf das Semikolon an einem Befehlsende zeigen. Und überhaupt: Welcher Befehl?
3. Egal ob es eine Ausnahme oder einen Kompilerfehler ist, es gibt einen Namen oder Fehlernummer oder sonstwas. Wie lautet dieser? "Ungültiger Parameter" ist nur die Beschreibung.

Wie gesagt, am besten die Fehlermeldung angeben und bitte genau sagen, wann diese auftritt. Damit können wir am meisten anfangen. Und wenn du dann noch sagen würdest, auf welcher Zeile im gezeigten Code der Fehler auftritt, wäre das ganz wunderbar.

Grüssli

_________________
Danke für die Hilfe, Antwort oder Meinung!
C++: Std-Lib Referenz
C# .Net: MSDN kennt die Antwort
Azrael89
Mitglied

Benutzerprofil
Anmeldungsdatum: 21.05.2010
Beiträge: 21
Beitrag Azrael89 Mitglied 10:36:53 02.09.2010   Titel:              Zitieren

also,

wie im ersten post schon erwähnt, betrifft die fehlermeldung die erste zeile der bitmap initialisierungen:

Bitmap circle = new Bitmap("circle.bmp");

und vermutlich auch die anderen 4, wird ja aber beim ersten fehler schon abgebrochen.

normale fehler erscheinen ja schon unten inner leiste und unterstreichen den code rot. dieser tritt erst auf, wenn man das debuggen startet und heißt wortwörtlich:

Argumentexeption wurde nicht behandelt.
Ungültiger parameter.
Hinweise zur fehlerbehebung:
Für diese Ausnahme die allgemeine Hilfe aufrufen ( daher auch meine bezeichnung als ausnahmefehler^^)


Zuletzt bearbeitet von Azrael89 am 10:38:04 02.09.2010, insgesamt 1-mal bearbeitet
Dravere
Moderator

Benutzerprofil
Anmeldungsdatum: 13.06.2005
Beiträge: 7252
Beitrag Dravere Moderator 11:19:09 02.09.2010   Titel:              Zitieren

Gut, dann wird wohl das hier das Problem sein:
Azrael89 schrieb:
und die bitmaps sind im hauptordner gespeichert, da wo auch die solution-datei ist.

Kopier die Bitmaps ins Verzeichnis der EXE, bzw. könntest du auch Visual Studio sagen, dass es dies für dich tun soll. Dazu gehst du wie folgt vor:
1. Project -> Add Existing Item... (geht auch mit einem Rechtsklick auf das Projekt im Solution Explorer, dann auf "add" und dann "Existing Item...")
2. Wähle die korrekte Endung aus oder "all files" und wähle dein Bild aus.
3. Klicke auf "add"
4. Im Solution Explorer erscheint nun das Bild. Darauf nun einen Rechtsklick und Properties auswählen.
5. In den Eigenschaften gibt es unter der Kategorie Advanced eine Option "Copy to Output Directory". Wähle nach deinen Bedürfnissen "Copy if newer" oder "Copy always" aus.

Grüssli

_________________
Danke für die Hilfe, Antwort oder Meinung!
C++: Std-Lib Referenz
C# .Net: MSDN kennt die Antwort
Azrael89
Mitglied

Benutzerprofil
Anmeldungsdatum: 21.05.2010
Beiträge: 21
Beitrag Azrael89 Mitglied 11:29:51 02.09.2010   Titel:              Zitieren

coll, funktioniert super.

seltsam ist nur, dass es, wenn ich ein bild so eingefügt hab, bei den restlichen auch nicht mehr meckert :D
DarkShadow44
Mitglied

Benutzerprofil
Anmeldungsdatum: 12.06.2009
Beiträge: 317
Beitrag DarkShadow44 Mitglied 16:49:16 10.09.2010   Titel:              Zitieren

Steck die Bilder einfach in die Ressourcen Datei ;)
Code:
Projektmappen-Explorer    Properties->Resources.resx
Ressource hinzufügen->Vorhandene Datei
Eigenschaften    Persistence->Eingebettet in resx
Code:
Projektmappen-Explorer Properties->Resources.resx
Ressource hinzufügen->Vorhandene Datei
Eigenschaften Persistence->Eingebettet in resx
Code:
Projektmappen-Explorer    Properties->Resources.resx
Ressource hinzufügen->Vorhandene Datei
Eigenschaften    Persistence->Eingebettet in resx

und dann über
C# Code:
Properties.Resources.circle
C# Code:
Properties.Resources.circle
C# Code:
Properties.Resources.circle

abrufen

LG,
Dark

EDIT: ausgebessert


Zuletzt bearbeitet von DarkShadow44 am 16:47:42 13.09.2010, insgesamt 1-mal bearbeitet
Th69
Mitglied

Benutzerprofil
Anmeldungsdatum: 25.03.2008
Beiträge: 2111
Beitrag Th69 Mitglied 08:13:51 11.09.2010   Titel:              Zitieren

C# Code:
Properties.Resources.circle
C# Code:
Properties.Resources.circle
C# Code:
Properties.Resources.circle

im englischen nur mit einem 's' -)
C/C++ Forum :: C# und .NET ::  Bitmap bei Buttonclick-event in picturebox laden   Auf Beitrag antworten

Zeige alle Beiträge auf einer Seite




Nächstes Thema anzeigen
Vorheriges Thema anzeigen
Sie können Beiträge in dieses Forum schreiben.
Sie können auf Beiträge in diesem Forum antworten.
Sie können Ihre Beiträge in diesem Forum nicht bearbeiten.
Sie können Ihre Beiträge in diesem Forum nicht löschen.
Sie können an Umfragen in diesem Forum nicht mitmachen.

Powered by phpBB © 2001, 2002 phpBB Group :: FI Theme

c++.de ist Teilnehmer des Partnerprogramms von Amazon Europe S.à.r.l. und Partner des Werbeprogramms, das zur Bereitstellung eines Mediums für Websites konzipiert wurde, mittels dessen durch die Platzierung von Werbeanzeigen und Links zu amazon.de Werbekostenerstattung verdient werden kann.

Die Vervielfältigung der auf den Seiten www.c-plusplus.de, www.c-plusplus.info, www.c-sar.de, www.c-plusplus.net und www.baeckmann.de enthaltenen Informationen ohne eine schriftliche Genehmigung des Seitenbetreibers ist untersagt (vgl. §4 Urheberrechtsgesetz). Die Nutzung und Änderung der vorgestellten Strukturen und Verfahren in privaten und kommerziellen Softwareanwendungen ist ausdrücklich erlaubt, soweit keine Rechte Dritter verletzt werden. Der Seitenbetreiber übernimmt keine Gewähr für die Funktion einzelner Beiträge oder Programmfragmente, insbesondere übernimmt er keine Haftung für eventuelle aus dem Gebrauch entstehenden Folgeschäden.