我想用橢圓做一個簡單的模擬。在用戶界面中,會出現一個按鈕。用戶將按下按鈕,然後以1秒的間隔,橢圓將被繪製到pictureBox。像交通燈...如何畫一個間隔的橢圓到PictureBox中
我想我需要使用計時器事件,但不知道如何。 我該如何實現它?
我最誠摯的問候......
CodeWork:
public void Button1_Click(Object sender, EventArgs e)
{
DrawMap ortamcizdir = new DrawMap(p_box_map, bmp, ZoomControl, panel1);
DrawCell hucrecizdir = new DrawCell (p_box_map, bmp, a, ZoomControl, ZoomKontrolBolen);
}
class DrawCell
{
for (int z = 0; z < Ortamlar.HucreSayisi; z++)
{
Pen Kalem = new Pen(Brushes.CadetBlue);
Rectangle rect = new Rectangle(((Ortamlar.HUCREKorX[z]/ScaleFactor - Ortamlar.HUCREYaricap[z]/ScaleFactor)
* ZoomKontrolCarpan)/ZoomKontrolBolen, (Ortamlar.HUCREKorY[z]/ScaleFactor - Ortamlar.HUCREYaricap[z]/ScaleFactor) *
ZoomKontrolCarpan/ZoomKontrolBolen, (2 * Ortamlar.HUCREYaricap[z]/ScaleFactor) * ZoomKontrolCarpan/ZoomKontrolBolen
, (2 * Ortamlar.HUCREYaricap[z]/ScaleFactor) * ZoomKontrolCarpan/ZoomKontrolBolen);
if (Ortamlar.HUCREYZ[z] == "001:400")
{
g.DrawString(Ortamlar.HUCREKB[z].ToString(), Font, Brushes.Black, ((Ortamlar.HUCREKorX[z]/ScaleFactor)
* ZoomKontrolCarpan)/ZoomKontrolBolen, 600 - (Ortamlar.HUCREKorY[z]/ScaleFactor) *
ZoomKontrolCarpan/ZoomKontrolBolen);
g.MultiplyTransform(new Matrix(1, 0, 0, -1, 0, 600));
g.DrawEllipse(Kalem, rect);
g.FillEllipse(Brushes.Wheat, rect);
g.ResetTransform();
picturebox1.Image = bmp;
bmp1 = (Bitmap)picturebox1.Image;
}
if (Ortamlar.HUCREYZ[z] == "401:800")
{
g.DrawString(Ortamlar.HUCREKB[z].ToString(), Font, Brushes.Black, ((Ortamlar.HUCREKorX[z]/ScaleFactor)
* ZoomKontrolCarpan)/ZoomKontrolBolen, 600 - (Ortamlar.HUCREKorY[z]/ScaleFactor) *
ZoomKontrolCarpan/ZoomKontrolBolen);
g.MultiplyTransform(new Matrix(1, 0, 0, -1, 0, 600));
g.DrawEllipse(Kalem, rect);
g.FillEllipse(Brushes.Yellow, rect);
g.ResetTransform();
picturebox1.Image = bmp;
bmp2 = (Bitmap)picturebox1.Image;
}
if (Ortamlar.HUCREYZ[z] == "801:120")
{
g.DrawString(Ortamlar.HUCREKB[z].ToString(), Font, Brushes.Black, ((Ortamlar.HUCREKorX[z]/ScaleFactor)
* ZoomKontrolCarpan)/ZoomKontrolBolen, 600 - (Ortamlar.HUCREKorY[z]/ScaleFactor) *
ZoomKontrolCarpan/ZoomKontrolBolen);
g.MultiplyTransform(new Matrix(1, 0, 0, -1, 0, 600));
g.DrawEllipse(Kalem, rect);
g.FillEllipse(Brushes.Green, rect);
g.ResetTransform();
picturebox1.Image = bmp;
bmp3 = (Bitmap)picturebox1.Image;
}
if (Ortamlar.HUCREYZ[z] == "121:161")
{
g.DrawString(Ortamlar.HUCREKB[z].ToString(), Font, Brushes.Black, ((Ortamlar.HUCREKorX[z]/ScaleFactor)
* ZoomKontrolCarpan)/ZoomKontrolBolen, 600 - (Ortamlar.HUCREKorY[z]/ScaleFactor) *
ZoomKontrolCarpan/ZoomKontrolBolen);
g.MultiplyTransform(new Matrix(1, 0, 0, -1, 0, 600));
g.DrawEllipse(Kalem, rect);
g.FillEllipse(Brushes.Blue, rect);
g.ResetTransform();
picturebox1.Image = bmp;
bmp4 = (Bitmap)picturebox1.Image;
}
}
}
您希望我們爲您編寫代碼?通過。 – 2011-12-27 14:38:25
@Cody Gray我只需要任何想法或建議? – 2011-12-27 14:42:38
您是否閱讀過[documentation](http://msdn.microsoft.com/en-us/library/system.windows.forms.timer.aspx)? – 2011-12-27 14:49:50