本文介绍了如何在图片框中的图片上移动圆圈的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

大家好,



我想在图片上创建一个圆圈,然后在图片框中显示。我在图片上绘制了一个10乘10(10行和10列)的网格。然后我在该网格中选择了一个起始单元格,比如说56(当前单元格),并选择下一个单元格(100)。现在我想逐渐将单元格从56移动到100。当它达到100然后程序自动选择下一个单元格说30.现在它必须从100移动到30.

我确实尝试使用计时器移动它但我没有获得成功。

Hi All,

i want to create a circle on the picture please and then to show in the picturebox. i have drawn a grid of 10 by 10 ( 10 rows and 10 col) on the picture. then i have selected a start cell in that grid, say 56, (which is current cell) and also select next cell say ( 100). now i want to move circle from cell 56 to 100 gradually. when it reached to 100 then program automatically select next cell say 30. now it have to move from 100 to 30.
i did try to move it using timer but i didn't get success.

private void SimTimer_Tick(object sender, EventArgs e)
       {
           pictureBox1.Image = testImage;
           nxtno = utilObject.SelectNextCell(startCell, rnd);
           startCell = nxtno;
           DrawCircle(Get_CellCenterPoint(nxtno));

       }



通过这个代码我只是在单元格中单独绘制,但我想逐渐移动它请任何有一些想法请。

或一段代码??


through this code i just drawcircle individually in cell, but i want to move it gradually please any have some idea please.
or piece of code??

i did try like this, but it run only once, how to set the timer for infinite please.
if (startCell != nxtno)
                {
                    moveCircle();
                }
 private void moveCircle()
        {
             prvCellCenter = new Point(myGrid.Cells[startCell].CornerPoints[0].X + 22,
                                            myGrid.Cells[startCell].CornerPoints[0].Y + 21);

             curntCellCenter = new Point(myGrid.Cells[nxtno].CornerPoints[0].X + 22,
                                                myGrid.Cells[nxtno].CornerPoints[0].Y + 21);

             moveTimer.Start();


        }
 private void moveTimer_Tick(object sender, EventArgs e)
        {

            if (startCell < nxtno)
            {

                if (prvCellCenter.X < curntCellCenter.X && prvCellCenter.Y < curntCellCenter.Y)
                {
                    prvCellCenter.X += 5;
                    prvCellCenter.Y += 5;
                }
                else if (prvCellCenter.X < curntCellCenter.X) prvCellCenter.X += 5;
                else if (prvCellCenter.Y < curntCellCenter.Y) prvCellCenter.Y += 5;
                DrawCircle(prvCellCenter);
            }

            else if (startCell > nxtno)
            {

                if (prvCellCenter.X > curntCellCenter.X && prvCellCenter.Y > curntCellCenter.Y)
                {
                    prvCellCenter.X -= 5;
                    prvCellCenter.Y -= 5;
                }
                else if (prvCellCenter.X < curntCellCenter.X) prvCellCenter.X -= 5;
                else if (prvCellCenter.Y < curntCellCenter.Y) prvCellCenter.Y -= 5;
                DrawCircle(prvCellCenter);


            }
        }







谢谢




thanks

推荐答案



这篇关于如何在图片框中的图片上移动圆圈的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

07-31 16:21