首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >无法使活动的picturebox在特定点停止

无法使活动的picturebox在特定点停止
EN

Stack Overflow用户
提问于 2017-12-22 05:44:54
回答 2查看 310关注 0票数 1

我必须创建一个交通模拟器,我想在红绿灯不是红灯的时候移动一辆车(picturebox),当红灯亮的时候让它停在红绿灯的地方。红绿灯是3个变色的面板。

我的问题是我的车在遇到红灯时不停下来。我试过"pictureBox.Location.X“和"pictureBox.Left”,但它就是不工作,pictureBox只是继续移动。我还试过在汽车遇到红绿灯时抛出一个messageBox,看看"pictureBox.Location.X“是否正常工作,但仍然没有结果。它似乎无法识别该函数。

我试着用面板和图片盒做红绿灯,但仍然是一样的。

到目前为止,我把我的代码发给你:

代码语言:javascript
复制
    private void timerCar1_Tick(object sender, EventArgs e)
            {
                //timerCar2.Enabled = true;

                if(panelRed.BackColor == Color.Red)
                {
                    car1.Left -= 5;
                }                
 /* ---> */     else if (car1.Location.X == panelGreen.Location.X & panelRed.BackColor == Color.Red)
                {
                    car1.Left -= 0;
                }
                else if (panelGreen.BackColor == Color.Green)
                {
                    car1.Left -= 20;
                }
                else if (panelOrange.BackColor == Color.Orange)
                {
                    car1.Left -= 10;
                }

            }
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2017-12-22 13:10:23

您可以使用&。

代码语言:javascript
复制
 else if (car1.Location.X == panelGreen.Location.X & panelRed.BackColor == Color.Red)

我已经heard,这可能会导致意外的行为。您的意思是使用逻辑上的“与”(&&)吗?

代码语言:javascript
复制
 else if (car1.Location.X == panelGreen.Location.X && panelRed.BackColor == Color.Red)
票数 0
EN

Stack Overflow用户

发布于 2017-12-27 23:01:24

我认为在c#中,对于逻辑上的" and“,ypu可以使用&和&&。这个问题已通过将像素移动从+= 20更改为+= 3修复,因此我认为我的picturebox不会达到我设置为停止点的点,因为它移动了20 20像素。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/47933128

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档