ですから、この特定のセットでのタスクの終わりに近づいています...タイマーが作動するたびに楕円を描画しようとしています。タイマーはデフォルトで有効になっており、各タイマーティックの間隔は100msです。デバッグを実行すると、1つの楕円がキャンバスに描画され、それ以上は描画されません-タイマーティックごとに描画される楕円の任意の量を設定するために、forループとwhileループをすでに試しましたが、それは機能しませんでした。理想的には、タイマーのオンとオフを切り替えるボタンを作成したいと思います(以前に解決された問題のおかげで、これを行う方法についていくつかのアイデアがあります)。最初にタイマーのコードを取得したいと思います。以下は私がこれまでに何とか取得したコードです:
private: System::Void timer1_Tick(System::Object^ sender, System::EventArgs^ e)
{
Random^ rGen;
timer1->Enabled = true;
Graphics^ mainCanvas = CreateGraphics();
// while loop to set upper limit for no# of ellipses
// note: this is just for testing - would like to have
// ellipses drawn automatically at random etc.
int i = 0;
while(i < 20)
{
rGen = gcnew Random();
Brush^ greenBrush = gcnew SolidBrush(Color::Green);
static int randX = rGen->Next(Width); //random x co-ordinate
static int randY = rGen->Next(Height); //random y co-ordinate
static int randWidth = rGen->Next(100); //random ellipse width
static int randHeight = rGen->Next(100); //random ellipse height
mainCanvas->FillEllipse(greenBrush, randX,randY,randWidth,randHeight);
i++;
}
}
私はおそらく1つか2つの重要なことを見逃しているだけです。また、C#とASP.NETを同時に学んでいるので、頭が爆発しそうになり、たくさん詰め込まれています。どんな助けでも大歓迎です:)。