Autor Beitrag
shinkan90
Hält's aus hier
Beiträge: 9



BeitragVerfasst: Sa 28.08.10 08:49 
Hi Leute,

ich arbeite mich fleißig in C# rein. Nur stoße ich auf ein Problem:

Ich möchte gerne Soduko nachprogrammieren. Die Zahlen für das Feld will ich über einen Button-Kreis eingeben können, der um das Feld erscheint. Hier der Quelltext:

ausblenden C#-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
public class Eingabekreis : Object
    {
        public Eingabekreis(int xPos, int yPos)
        {
            int Radius = 50;
            ArrayList EingabebuttonListe = new ArrayList();
            for (int i = 1; i < 10; ++i)
            {
                Button Eingabebutton = new Button();
                Eingabebutton.Text = i.ToString();
                int x,y;
                x = (int)(Math.Sin(2/9*Math.PI*i)*Radius+xPos); //Berechnung der Postion der Elemente Winkelfunktion
                y = (int)(Math.Cos(2/9*Math.PI*i)*Radius+yPos);

                Eingabebutton.Location.X = x; //Zuordnung der Postion
                Eingabebutton.Location.Y = y;

                EingabebuttonListe.Add(Eingabebutton);
            }
        }
    }


Das Problem ist nun das der Compiler mir folgendes sagt:
'Der Rückgabewert von "System.Windows.Forms.Control.Location" kann nicht geändert werden, da er keine Variablie ist'
Wo steckt da der Fehler oder gibt es vielleicht noch eine Alternative?

Eine Frage wäre da noch :)
Um selbstdefiniertes Objekt auf dem Formular anzuzeigen brauchte man in Delhpi "parent".
Wie stellt man das in C# an?

Vielen Danke
Liebe Grüße
Chris
Kha
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 3803
Erhaltene Danke: 176

Arch Linux
Python, C, C++ (vim)
BeitragVerfasst: Sa 28.08.10 11:10 
:welcome:

user profile iconshinkan90 hat folgendes geschrieben Zum zitierten Posting springen:
'Der Rückgabewert von "System.Windows.Forms.Control.Location" kann nicht geändert werden, da er keine Variablie ist'
Wo steckt da der Fehler oder gibt es vielleicht noch eine Alternative?
Hätten sie sich an ihre eigenen Vorschriften gehalten und den Point-Struct immutable gemacht, würden solche verwirrenden Probleme gar nicht auftreten - aber das nur am Rande :) . So sollte es gehen:
ausblenden C#-Quelltext
1:
Eingabebutton.Location = new Point(x, y);					


user profile iconshinkan90 hat folgendes geschrieben Zum zitierten Posting springen:
Um selbstdefiniertes Objekt auf dem Formular anzuzeigen brauchte man in Delhpi "parent".
Wie stellt man das in C# an?
Füge das Control der Controls-Collection des Parents hinzu.

_________________
>λ=
shinkan90 Threadstarter
Hält's aus hier
Beiträge: 9



BeitragVerfasst: Sa 28.08.10 11:52 
okay, ich habe mir schon mal eine zeile quelltext dadurch gespart :)
aber leider kommt immer noch die gleiche fehler meldung :(
Kha
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 3803
Erhaltene Danke: 176

Arch Linux
Python, C, C++ (vim)
BeitragVerfasst: Sa 28.08.10 12:07 
Uh, das kann aber in meiner Zeile nun wirklich nicht auftreten :nixweiss: .

PS - Noch ein paar Kleinigkeiten, die mir jetzt erst auffallen: Lokale Variablen klein schreiben, ArrayList durch List<Button> ersetzen.

_________________
>λ=
shinkan90 Threadstarter
Hält's aus hier
Beiträge: 9



BeitragVerfasst: Sa 18.09.10 14:10 
doch es klappt :)
der compiler hat irgendwie länger gebraucht um das zu raffen