Autor Beitrag
MasterA162
Ehemaliges Mitglied
Erhaltene Danke: 1



BeitragVerfasst: Sa 21.01.12 17:44 
Bin noch totaler C# Anfänger und hab gleich ein Problem..
Ich lerne noch mit Büchern und hab auch paarmal mein Quellcode mit dem von Buch verglichen und finde keinen Fehler!
Als Compiler nehme ich Visual Studio 2010 Ultimate...
Die IDE oder wie sich das nennt sagt mir als Fehler: "Bild" : Membernamen dürfen nicht mit dem Namen des sie einschliesenden Types identisch sein...
ausblenden volle Höhe C#-Quelltext
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:
50:
51:
52:
53:
54:
55:
56:
57:
58:
59:
60:
61:
62:
63:
64:
65:
66:
67:
68:
69:
70:
71:
72:
73:
74:
75:
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.Threading;

namespace Movie3
{
    public partial class Form1 : Form
    {
        Bild Bild1;
        const string Pfad = "C://Dokumente und Einstellungen//Administrator//Eigene Dateien//Visual Studio 2010//Neuer Ordner//Bilder//";
        public Form1()
        {
            InitializeComponent();
        }
        class Bild
        {
            public class Bild
            {
                private PictureBox Rahmen;
                private string Name;
                private int x, y, Breite, Hoehe;

                public Bild(PictureBox pp, string nn,
                    int xx, int yy, int bb, int hh)
                {
                    Rahmen = pp; Name = nn;
                    x = xx; y = yy; Breite = bb; Hoehe = hh;
                    Rahmen.SetBounds(x, y, Breite, Hoehe);

                }
                public void Erscheinen()
                {
                    try
                    {
                        Rahmen.Image = Image.FromFile(Name);
                    }
                    catch
                    {
                        Rahmen.Parent.Text = "Kein Bild gefunden!";
                    }
                }
                public void Bewegen()
                {
                    for (int i = Rahmen.Location.X;
                        i < Rahmen.Parent.Width - Rahmen.Width - 30; i++)
                    {
                        Rahmen.SetBounds(i, y, Breite, Hoehe);
                        Thread.Sleep(10);
                    }
                }
                public void Verschwinden()
                {
                    Rahmen.Image = null;
                }
            }




        }

        private void Form1_Load(object sender, EventArgs e)
        {
            Bild1 = new Bild(pictureBox1, Pfad + "Kreis1.jpg"1010200200);
            BackColor = Color.White;
            pictureBox1.BackColor = Color.White;
        }
    }
}


Ich hab gar keine Ahnung was ich falsch gemacht haben kann..
Wie schon gesagt bin TOTALER Anfänger in C#...
Ich hab bei meinen anderen kleinen Projekten doch auch immer den Konstruktor genauso wie die Klasse genannt,
wieso geht das jetzt nicht?

Moderiert von user profile iconChristian S.: C#-Tags hinzugefügt

Moderiert von user profile iconChristian S.: Beiträge zusammengefasst

Es tut mir leid das ich den Quellcode so total unübersichtlich gepostet habe,
aber ich bin hier ganz neu im Forum..
Troubadix
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 28
Erhaltene Danke: 9

WIN 7
C# (VS2010 Express)
BeitragVerfasst: Sa 21.01.12 18:05 
Hallo MasterA162,

um deinen Code lesbarer zu machen kannst du es in einen code-Block setzen. Klicke obnerhalb von dem Editor mal auf Bereiche. Dann siehst du das schon.

Nun zu deinem Problem:
Erstmal solltest du deine eigenen Klassen nicht innerhalb der Form1 Klasse erstellen sondern lieber außerhalb. Am besten direkt in eigenen Dateien. Visual Studio lkegt Klassendateien an indem du im Projektexplorer einen rechtsklick auf dein Projekt machst -> Hinzufügen -> Klasse
Das macht dein Projekt übersichtlicher.

Dein eigentliches Problem liegt aber hier:
ausblenden C#-Quelltext
1:
2:
3:
4:
class Bild
{
public class Bild
{

Du erstellst eine eingebettete Klasse Bild und in dieser wieder eine eingebettete Klasse Bild. Damit hast du dann einen Member der den gleichen Namen trägt wie die einbettende Klasse (Bild).

Ich hoffe ich konnte Dir damit weiter helfen.

Gruß
Troubadix
MasterA162
Ehemaliges Mitglied
Erhaltene Danke: 1



BeitragVerfasst: Sa 21.01.12 18:28 
Vielen Dank ;)