C# Wo ist der Fehler ?

samsung

Ensign
Registriert
Nov. 2011
Beiträge
179
Hi,

sorry für den ungenauen Titel ich wusste nicht wie ich mein Problem beschreiben sollte.

das Programm soll einfach nur eine Ellipse zeichnen doch leider geht es nicht.

Code:
namespace ball
{
    class elips
    {
        Ellipse e = new Ellipse();

        public elips()
        {
            e.Height = 50;
            e.Width = 50;
            Canvas.SetTop(e, 50);
            Canvas.SetLeft(e, 50);
            e.Fill = Brushes.Red;
            e.Stroke = Brushes.Black;
        }

        public void draw(Canvas c)
        {
            if (c.Children.Contains(e))
            {
                c.Children.Add(e);
            }
        }

    }
}

Code:
namespace ball
{
    /// <summary>
    /// Interaktionslogik für MainWindow.xaml
    /// </summary>
    public partial class MainWindow : Window
    {
        elips e;

        public MainWindow()
        {
            InitializeComponent();
            e = new elips();
            e.draw(canvas);
        }
    }

weiß einer warum ?
Danke
 
Der Compiler wirft dir doch bestimmt eine Fehlermeldung an den Kopf. Die kann schon helfen den Fehler zu finden.
 
Ich halte mich mal absichtlich etwas ungenau:
Du musst die Ellipse dem Window hinzufügen.

Ich interpretiere deinen Code mal so das du mit der Klasse elips quasi ein standardaussehen für die ellipse definieren willst.
Falls das so ist würde ich es anders machen und von Ellipse erben und dann im ctor quasi das Objekt sich selbst definieren lassen.

Und das magic Canvas müsstest du erklären... :O
 
Zuletzt bearbeitet von einem Moderator:
Hi,

was ist das "e.draw(canvas)"? Woher kommt das "canvas"? Kannst du es kompilieren? Oder scheitert es da schon? Was für eine Fehlermeldung kommt denn? "Geht nicht" ist sehr dürftig...

VG,
Mad

Edit: Ach Gottchen :)

if (!c.Children.Contains(e))
{
c.Children.Add(e);
}

Sonst kommst du da nie rein ;)
 
Zuletzt bearbeitet:
@Madman1209
Boa Danke es lag daran das ich das ! vergessen hab -_-
 
Zurück
Oben