Autor Beitrag
aleks
Hält's aus hier
Beiträge: 3



BeitragVerfasst: Fr 27.02.09 12:24 
hi all

hab da mal eine Frage, und zwar mache ich ein wochenprojekt in meiner lehre als informatiker, indem es sich um körperberechnung und darstellung handelt.(das ganze in einer windows anwendung versteht sich)
nun hab ich das mit den berechnungen fertig und hab mich dem grafischem gewidmet. angefangen mit dem würfel.
nach stundenlanger rumquälerei hab ich ihn dank Graphic linien und vierecken dargestellt.
jetzt muss ich ihn aber noch variabel machen. sprich, wenn der user eingibt das a 5 cm hat soll a auch wirklich 5 cm haben. damit nicht genug. ich muss das auch noch so machen, dass der user die Stiftfarbe per buttons wählen kann und damit auch die des würfels.
das problem ist, dass ich in dem button kein graphic machen kann.

würde mich über eure hilfe sehr freuen,
mfg aleks


Moderiert von user profile iconChristian S.: Topic aus C# - Die Sprache verschoben am Fr 27.02.2009 um 12:21
JüTho
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 2021
Erhaltene Danke: 6

Win XP Prof
C# 2.0 (#D für NET 2.0, dazu Firebird); früher Delphi 5 und Delphi 2005 Pro
BeitragVerfasst: Fr 27.02.09 12:31 
Hallo und :welcome:

Vom Zeichnen habe ich praktisch keine Ahnung. Ich weiß nur, dass Du das Paint-Ereignis benutzen musst; über die PaintEventArgs kommst Du an ein Graphics-Objekt, in dem Du die Zeichenoperationen ablaufen lassen kannst.

Benutze einmal die Forumssuche nach "zeichnen", vorzugsweise in den C#-Unterforen für WinForms und Multimedia/Graphik.

Gruß Jürgen
aleks Threadstarter
Hält's aus hier
Beiträge: 3



BeitragVerfasst: Fr 27.02.09 12:52 
user profile iconJüTho hat folgendes geschrieben Zum zitierten Posting springen:
Hallo und :welcome:

Vom Zeichnen habe ich praktisch keine Ahnung. Ich weiß nur, dass Du das Paint-Ereignis benutzen musst; über die PaintEventArgs kommst Du an ein Graphics-Objekt, in dem Du die Zeichenoperationen ablaufen lassen kannst.

Benutze einmal die Forumssuche nach "zeichnen", vorzugsweise in den C#-Unterforen für WinForms und Multimedia/Graphik.

Gruß Jürgen


ich danke dir für deine antwort aber das mit dem zeichnen hab ich schon^^ das prob ist nur, dass ich zwischen blauen würfel und schwarzen würfel wählen will. und das halt per button geschieht.
sprich,

button 1 zeichnet mit blau

button 2 mit schwarz

aaaaber^^
in den buttons kann ich den quelltext nicht einfügen, denn wenn ich es tue kommen lauter fehler
Kha
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 3803
Erhaltene Danke: 176

Arch Linux
Python, C, C++ (vim)
BeitragVerfasst: Fr 27.02.09 14:34 
Wo zeichnest du denn bisher? Im Paint-EventHandler? Dann musst du die gewählte Farbe über den Button-Click hinaus speichern, also in einem Klassenfeld.
Im Click-Handler weist du also jeweils die richtige Farbe dem Feld zu und stößt über Refresh noch das Paint-Ereignis an. In dessen Handler zeichnest du dann mit der im Feld gespeicherten Farbe.

_________________
>λ=
aleks Threadstarter
Hält's aus hier
Beiträge: 3



BeitragVerfasst: Fr 27.02.09 19:00 
user profile iconKha hat folgendes geschrieben Zum zitierten Posting springen:
Wo zeichnest du denn bisher? Im Paint-EventHandler? Dann musst du die gewählte Farbe über den Button-Click hinaus speichern, also in einem Klassenfeld.
Im Click-Handler weist du also jeweils die richtige Farbe dem Feld zu und stößt über Refresh noch das Paint-Ereignis an. In dessen Handler zeichnest du dann mit der im Feld gespeicherten Farbe.


danke für deine antwort, klingt gut, leider versteh ichs nicht^^
könntest dus vereinfachter ausdrücken? bin noch in meiner lehre.
hier ein teil meines programmcodes:

ausblenden C#-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
if (textBox1.Text != "")
            {
                Graphics gfx = paintEvnt.Graphics;
                Pen myPen = new Pen(Color.Black);

                System.Drawing.Graphics graphicsObj;
                graphicsObj = this.CreateGraphics();

                graphicsObj.DrawLine(myPen, 70709090);
                graphicsObj.DrawLine(myPen, 1407016090);
                graphicsObj.DrawLine(myPen, 7013090150);
                graphicsObj.DrawLine(myPen, 140130160150);

                graphicsObj.DrawRectangle(myPen, 90907060);

                graphicsObj.DrawRectangle(myPen, 70707060);
                
                }


mfg,
aleks

Moderiert von user profile iconKha: C#-Tags hinzugefügt
JüTho
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 2021
Erhaltene Danke: 6

Win XP Prof
C# 2.0 (#D für NET 2.0, dazu Firebird); früher Delphi 5 und Delphi 2005 Pro
BeitragVerfasst: Fr 27.02.09 19:29 
Hallo Aleks,

wie gesagt, von Graphik habe ich fast keine Ahnung. Aber Du machst ein paar Fehler, die auch ich erkenne:

1. Dein Code ist als solcher zu markieren, siehe "Bereiche" mit C# und Plus-button.
2. Du gibst nicht an, wo dieser Code herkommt; es ist vermutlich ein Paint-EventHandler, aber wofür?
3. Du deklarierst die Variable gfx, aber machst überhaupt nichts damit.
4. Du holst ein Graphics-Objekt des Formulars, mit dem Du dann weiterarbeitest. Willst Du das wirklich?

Gruß Jürgen