|
You last visited: Today at 10:34
Advertisement
C# Anfängerfrage !?
Discussion on C# Anfängerfrage !? within the .NET Languages forum part of the Coders Den category.
02/12/2015, 20:16
|
#1
|
elite*gold: 0
Join Date: May 2010
Posts: 260
Received Thanks: 75
|
C# Anfängerfrage !?
Heyho,
wir behandeln seit einigen Tagen C# in der Schule! Hier haben wir den Auftrag bekommen, uns so ein wenig mit dem Programm vertraut zu machen. Und ich wollte halt ein wenig mehr wissen, zudem ich im Internet nichts gefunden habe..
Code:
private void buttonStart_Click(object sender, EventArgs e)
{
Random Rot;
Random Gruen;
Random Blau;
Random PositionX;
Random PositionY;
Int32 iRot;
Int32 iGruen;
Int32 iBlau;
Int32 iPositionX;
Int32 iPositionY;
PositionX = new Random();
PositionY = new Random();
Rot = new Random();
Gruen = new Random();
Blau = new Random();
for (int i = 0; i < 100; i++)
{
iPositionX = PositionX.Next(1, 1000);
iPositionY = PositionY.Next(1, 500);
iRot = Rot.Next(0, 255);
iGruen = Rot.Next(0, 255);
iBlau = Rot.Next(0, 255);
System.Threading.Thread.Sleep(5);
this.Refresh();
this.button6.Location = new System.Drawing.Point(iPositionX, iPositionY);
this.button6.BackColor = Color.FromArgb(iRot, iGruen, iBlau);
}
}
Also ganz simpel. Habe Drei Buttons: Start, Stop, button6!
Bei "Start" soll dem "button6" eine neue Farbe+Position zugeteilt werden und dies halt ziemlich oft und schnell! Solange bis ich "Stop" drücke. Doch ich bekomme die schleife einfach nicht zum stillstand
Habt ihr vielleicht ne Idee?
|
|
|
02/12/2015, 20:25
|
#2
|
elite*gold: 724
Join Date: Mar 2011
Posts: 10,479
Received Thanks: 3,318
|
C/C++ -> .NET Languages
Ich habe nicht viel Erfahrung mit .NET, aber hier klingt ein Timer nützlich, der im startButton_Click Event gestartet und im stopButton_Click Event gestoppt wird. Das Tick-Event generiert dann eine neue Farbe und Position.
Man möge mich verbessern, ist nur eine Idee. :x
#moved
|
|
|
02/12/2015, 21:07
|
#3
|
elite*gold: 2932
Join Date: Oct 2009
Posts: 6,966
Received Thanks: 1,097
|
^immer das was snow sagt :P
ansonsten kannst du alle zahlen auch mit nur einem Random objekt erzeugen, in etwa so
Code:
Random rnd = new Random();
iX = rnd.Next(x);
iY = rnd.Next(x);
|
|
|
02/12/2015, 21:19
|
#4
|
elite*gold: 0
Join Date: Mar 2013
Posts: 3,185
Received Thanks: 1,317
|
Habe ebenfalls nicht viel Erfahrungen mit .net, ich würde der Einfachheit halber entweder zwei Threads vewenden, d.h. ein Thread ändert Farbe, Position, etc. das sähe dann im Pseudocode ungefähr so aus:
Code:
private void changeButton()
{
for (int i = 0; i < 100; i++)
{
iPositionX = PositionX.Next(1, 1000);
iPositionY = PositionY.Next(1, 500);
iRot = Rot.Next(0, 255);
iGruen = Rot.Next(0, 255);
iBlau = Rot.Next(0, 255);
System.Threading.Thread.Sleep(5);
this.Refresh();
this.button6.Location = new System.Drawing.Point(iPositionX, iPositionY);
this.button6.BackColor = Color.FromArgb(iRot, iGruen, iBlau);
}
}
Thread thread;
private void buttonStart_Click(object sender, EventArgs e)
{
thread = new Thread(changeButton);
thread.start();
}
private void buttonStop_Click(object sender, EventArgs e)
{
thread.stop();
}
oder alternativ mit einer einfachen if-Verzweigung in der Schleife (ebenfalls im Pseudocode)
Code:
for (int i = 0; i < 100; i++)
{
iPositionX = PositionX.Next(1, 1000);
iPositionY = PositionY.Next(1, 500);
iRot = Rot.Next(0, 255);
iGruen = Rot.Next(0, 255);
iBlau = Rot.Next(0, 255);
System.Threading.Thread.Sleep(5);
this.Refresh();
this.button6.Location = new System.Drawing.Point(iPositionX, iPositionY);
this.button6.BackColor = Color.FromArgb(iRot, iGruen, iBlau);
if(buttonStop.clicked())
break;
}
|
|
|
02/14/2015, 13:34
|
#5
|
elite*gold: 0
Join Date: Sep 2011
Posts: 60
Received Thanks: 4
|
Hi,
ohne deinen Code groß umschreiben zu müssen:
Variable "i" außerhalb des ButtonEvents deklarieren.
For Schleife ändern
Code:
for (i = 0; i < 100; i++)
Stop Button
Mit freundlichen Grüßen
freewayc
|
|
|
 |
Similar Threads
|
Anfängerfrage PSC
06/06/2012 - Off Topic - 3 Replies
Servus,
ich habe mir jetzt bei einer Tanke ne PSC gekauft nur habe ich da eine kleine Frage. Kann ich die Pins in mein PSC Konto eintragen, um zu sehen wieviel noch drauf ist, ohne dass die PSC "unbrauchbar" für epvp werden? Gibt es sonst noch irgendwas zu beachten, außer das extrem viele Scammer unterwegs sind?
Beste Grüße:rtfm:
Bios
|
Anfängerfrage..
04/10/2012 - C/C++ - 5 Replies
Hi, mein programm soll eine textdatei öffnen, und die werte davon in in 2D Array speichern.
Das textdokument ist so beschrieben:
2;5
1;7
...
Danke vielmals, wie gesagt, bin nur ein anfänger..
|
Anfängerfrage^^
03/22/2012 - .NET Languages - 10 Replies
Suche die ID von "Direkt Antworten" hier bei EPvP
WebBrowser1.Document.GetElementById("xxx&quo t;).InnerText = Textbox1.text
anstatt xxx muss halt die ID, aber ich finde die einfach nicht, könnt ihr mir helfen?
|
C# Anfängerfrage
03/08/2012 - .NET Languages - 8 Replies
Hallo, ich bin grade dabei C# zu lernen und stecke noch in den Kinderschuhen, wie man sehen kann ;) Also beschränke ich mich derzeit auf Minifunktionen und probiere erstmal aus um alles kennenzulernen. Aber bei dieser Aufgabe komme ich einfach nicht weiter, auch youtube und diverse Tutorials konnten mir dabei nicht weiterhelfen. Evtl könnt ihr mir ja n Tip geben :)
Kurz zusammengefasst, ich habe mir in der Entwurfsansicht 2 RadioButtons und n normalen Button eingeworfen. Wenn einer der...
|
Anfängerfrage
02/17/2011 - General Coding - 5 Replies
Heyy...
Ich weiß ,dass sich viele vll. aufregen über meine Frage aber dennoch möchte ich sie stellen
Also es geht um C++
Ich hab die 2008 Express Edition
ich gebe folgendes ein:
|
All times are GMT +1. The time now is 10:34.
|
|