1. Dashboard
  2. Forum
    1. Unerledigte Themen
  3. Mitglieder
    1. Letzte Aktivitäten
    2. Benutzer online
    3. Team-Mitglieder
    4. Trophäen
    5. Mitgliedersuche
  4. Tutorial Bereich
  • Anmelden
  • Registrieren
  • Suche
Dieses Thema
  • Alles
  • Dieses Thema
  • Dieses Forum
  • Seiten
  • Forum
  • Lexikon
  • Erweiterte Suche
  1. Informatik Forum
  2. Webmaster & Internet
  3. Entwicklung

Bilder als bool??

  • C_T
  • 4. Februar 2009 um 11:11
  • Unerledigt
  • C_T
    2
    C_T
    Mitglied
    Punkte
    25
    Beiträge
    3
    • 4. Februar 2009 um 11:11
    • #1

    Hallo
    ich habe gerade angefangen mich ein bisschen mit C# zu beschäftigen.
    In der Schule müssen wir nun ein Projekt machen.
    Ich habe das Problem, dass ich in einer if-Abfrage keine Bilder kann unterscheiden.

    Zitat


    using System;
    using System.Collections.Generic;
    using System.Drawing;
    ......

    namespace Wii_Test
    {
    public partial class Form1 : Form
    {
    //Deklariert einen Graphics-Path der der Maus folgt;
    System.Drawing.Drawing2D.GraphicsPath mousePath = new System.Drawing.Drawing2D.GraphicsPath();
    //Farbauswahl
    Color farbe = new Color();
    //Hintergrund
    PictureBox textur = new PictureBox();

    private Image wood;
    private Image wall;

    //Konstruktor
    public Form1()
    {
    InitializeComponent();

    wall = Image.FromFile("Pfad\\test.jpg");
    }

    private void comboBox1_SelectedIndexChanged(object sender, EventArgs e)
    {
    farbe = Color.FromName(comboBox1.Items[comboBox1.SelectedIndex].ToString());
    }

    private void label1_Click(object sender, EventArgs e)
    {

    }

    private void pictureBox1_Click(object sender, EventArgs e)
    {

    }

    private void comboBox2_SelectedIndexChanged(object sender, EventArgs e)
    {
    if (sender = wall):confused: //Wie mach ich das??
    {
    pictureBox1.BackgroundImage = wall;
    }
    }
    }
    }

    Alles anzeigen
    Zitat


    Von der Klasse Form 1:

    this.comboBox2.FormattingEnabled = true;
    this.comboBox2.Items.AddRange(new object[] {
    "Mauer(orange)",
    "Mauer(grau)",
    "Holz"});
    this.comboBox2.Location = new System.Drawing.Point(153, 600);
    this.comboBox2.Name = "comboBox2";
    this.comboBox2.Size = new System.Drawing.Size(146, 21);
    this.comboBox2.TabIndex = 2;
    this.comboBox2.SelectedIndexChanged += new System.EventHandler(this.comboBox2_SelectedIndexChanged);

    Alles anzeigen

    So ich hoffe ihr kommt dem nach. Ich arbeite mit Visual Studio 2008.
    Jetzt möchte ich mit der if-Abfrage schauen, wenn z.b Mauer(orange) gewählt ist, soll es das Hintergrundbild test.jpg projizieren, Jedoch genau da kommt mir der Fehler.

  • Christoph R.
    16
    Christoph R.
    Mitglied
    Reaktionen
    36
    Punkte
    2.626
    Beiträge
    428
    • 4. Februar 2009 um 11:25
    • #2

    Der Vergleichsoperator ist ==. Aber mal abgesehen davon ist sender eine Referenz auf die Combobox und nicht auf das ausgewählte Objekt. Letzteres ist über comboBox2.SelectedIndex bzw. EventArgs e erreichbar.

  • Shardik
    12
    Shardik
    Mitglied
    Reaktionen
    16
    Punkte
    1.351
    Beiträge
    248
    • 4. Februar 2009 um 12:10
    • #3

    Genau wie Christoph schrieb: sender bezieht sich nicht auf das Bild sonder auf die Combobox.

    Du lädst die Items ja eh selbst der Reihe nach in die Combobox (orange, grau, holz) somit weißt du:
    combobox2.selectedIndex == 0: mauer orange
    combobox2.selectedIndex == 1: mauer grau
    combobox2.selectedIndex == 2: holz

    Würdest du nicht wissen, welcher Index zu welchem Wert gehört, müsstest du nicht .selectedIndex, sondern .selectedValue überprüfen, wär sonst aber gleich.

    Was du in deinem Eventhandler jetzt machen musst, ist nichts weiter als combobox2.selectedIndex zu überprüfen und abhängig von dem Wert deine Hintergrundbilder setzen.

    Anstatt combobox2.* zu verwenden, kannst du auch EventArgs e verwenden. Einfach mal im VS "e." schreiben und schaun, was dir IntelliSense alles an Optionen bietet.

    :(){ :|:&};:

  • C_T
    2
    C_T
    Mitglied
    Punkte
    25
    Beiträge
    3
    • 4. Februar 2009 um 13:30
    • #4

    Danke vielmals. So ist es gegangen. Blöd dass ich nicht selber darauf gekommen bin. SelectedIndex das wort selber sagt es ja schon:o.
    Naja ok mann muss halt wissen, dass es einen Index vergibt, das wusste ich nicht. Auf jeden Fall vielen Dank nochmals. Problem gelöst. Thread kann geschlossen werden.

  • Maximilian Rupp 27. Dezember 2024 um 00:26

    Hat das Thema aus dem Forum Programmieren nach Entwicklung verschoben.

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!

Benutzerkonto erstellen Anmelden

Benutzer online in diesem Thema

  • 1 Besucher

Rechtliches

Impressum

Datenschutzerklärung