A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 拼音 中级黑马   /  2013-5-22 13:50  /  1076 人查看  /  0 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文



为何一按Enter 总会弹出输入字串格式不正确  


using System;
using System.Windows.Forms;

namespace ArrayTestResult {
   public partial class Form1 : Form {

       int[] marks;
       int totalTest;

     public Form1() {
       InitializeComponent();
     }

     private void start_Click(object sender, EventArgs e)
     {
          try
         {
             totalTest = int.Parse(txtSize.Text);
             if (totalTest <= 0)
                 throw new Exception("Number of Test must be > 0");

              marks = new int[totalTest];

             ShowTestResult(totalTest);

             grpInput.Enabled = true;
             btnEnter.Enabled = true;
             grpReplaceAll.Enabled = true;
             btnReplaceAll.Enabled = true;
         }
         catch (Exception ex)
         {
             MessageBox.Show(ex.Message, ex.GetType().Name);
         }
     }


     private void ShowTestResult(int num)
     {
         try
         {
             txtTestResults.Clear();
             for (int i = 0; i < totalTest; i++)
             {
                 txtTestResults.Text += "Test" + i + ":" + marks;
                 txtTestResults.Text += "\r\n";
             }
         }

         catch (Exception ex)
         {
             MessageBox.Show(ex.Message, ex.GetType().Name);
         }
     }

     private void btnEnter_Click(object sender, EventArgs e)
     {
         try
         {
             int index = int.Parse(txtIndex.Text);
             int mark = int.Parse(txtOriginalMark.Text);

             if (mark <= 0)
                 throw new Exception("Tes test mark shold be within 0 and 100");


             marks[index] = mark;
             ShowTestResult(totalTest);
         }
         catch (Exception ex)
         {
             MessageBox.Show(ex.Message, ex.GetType().Name);
         }
     }


     }
     }


int index = int.Parse(txtIndex.Text);
int mark = int.Parse(txtOriginalMark.Text);
楼主,错误就在第二行,txtOriginalMark.text应该是Replace All面板OriginalMark后的文本框的属性,楼主你粗心把它当做Marks后的文本框了。当你按下Enter时,txtOriginalMark.text为空,所以转为int时会出错。

评分

参与人数 1技术分 +1 收起 理由
苏波 + 1

查看全部评分

0 个回复

您需要登录后才可以回帖 登录 | 加入黑马