首页 新闻 会员 周边

逐行执行时某些语句不能执行

0
悬赏园豆:5 [已解决问题] 解决于 2013-06-14 17:27
     private void MineClearance_Load(object sender, EventArgs e)
        {
            InitializeGame();
        }

        public void InitializeGame()
        {
            int x = Convert.ToInt16(cbHorizontal.Text);
            int y = Convert.ToInt16(cbVertical.Text);
            int mineNum = Convert.ToInt16(cbMine.Text);
            for (int v = 0; v < y; v++)
            {
                for (int h = 0; h < x; h++)
                {
                    Button btn = CreateBtn(h,v);
                    btn.Tag = h + "," + v;
                    panelMine.Controls.Add(btn);
                }
            }
         }

设置断点,当执行到 黄色填充的代码区时,按F11 后面的代码都不会执行,直接下去了?

怎么回事呢?

侠梦千年的主页 侠梦千年 | 初学一级 | 园豆:6
提问于:2013-06-13 10:42
< >
分享
最佳答案
0

楼主是想把cbHorizontal.Text值转化为16进制,类型为int,这里边就涉及到边界值问题,你查阅下相关资料就可以解决。

收获园豆:5
迷失的java | 初学一级 |园豆:154 | 2013-06-13 15:33
其他回答(3)
0

try catch 下 ,看看情况

二十三号同学 | 园豆:974 (小虾三级) | 2013-06-13 11:04

原因我找到了,是因为cbHorizontal.Text 没有默认值。

但是为什么会直接跳过去,不执行下面的代码呢?

支持(0) 反对(0) 侠梦千年 | 园豆:6 (初学一级) | 2013-06-13 12:01

@侠梦千年: 程序出错,就跳出当前的语句块

支持(0) 反对(0) 二十三号同学 | 园豆:974 (小虾三级) | 2013-06-13 12:06

@二十三号同学: 出错的话,就会报出异常啊,可以没有异常,直接正常执行下去了,就是后面的一部分代码不执行。

另:设置了默认值之后,就没有这个问题了

支持(0) 反对(0) 侠梦千年 | 园豆:6 (初学一级) | 2013-06-13 14:12
0

1、程序集问题,你引用的程序集不是最新的。

2、或者你运行前改了代码,但是没有重新编译

滴答的雨 | 园豆:3660 (老鸟四级) | 2013-06-13 11:08

原因我找到了,是因为cbHorizontal.Text 没有默认值。

但是为什么会直接跳过去,不执行下面的代码呢?

支持(0) 反对(0) 侠梦千年 | 园豆:6 (初学一级) | 2013-06-13 12:01
0

可以考虑用 int.TryParse 方法转换数据

慧☆星 | 园豆:5640 (大侠五级) | 2013-06-14 10:41
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册