我正在C#中制作一个非常小的RPG游戏来练习一些技巧(并获得乐趣!)。我已经非常熟悉图像,按钮等。 我的问题是,当我尝试将我的标签字符串转换为整数时将引发错误,并将其与我的attackingPhase()
方法进行比较。C#标签字符串到int转换错误
这是我的代码和错误的截图。
我相信我的代码是正确的,但我无法弄清楚为什么错误被抛出。
谢谢你的帮助。
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
namespace RPG
{
public partial class Form2 : Form
{
private Form1 mainForm = null;
public Form2(Form callingForm)
{
mainForm = callingForm as Form1;
InitializeComponent();
pictureBox1.Image = mainForm.MyPictureBoxEnemy.Image;
pictureBox2.Image = mainForm.MyPictureBoxHero.Image;
lbl_Health_Value_Enemy.Text = "100";
lbl_Health_Value_Hero.Text = "100";
}
public void attackingPhase()
{
Random rnd = new Random();
int enemy_damage = rnd.Next(1, 25);
int hero_damage = rnd.Next(2, 15);
var enemyHealth = Convert.ToInt32(lbl_Health_Value_Enemy);
var heroHealth = Convert.ToInt32(lbl_Health_Value_Hero);
if((enemyHealth & heroHealth) > 0)
{
enemyHealth = enemyHealth - enemy_damage;
heroHealth = heroHealth - hero_damage;
} else
{
MessageBox.Show("DEAD");
}
lbl_Health_Value_Enemy.Text = enemyHealth.ToString();
lbl_Health_Value_Hero.Text = heroHealth.ToString();
}
private void btnAttack_Click(object sender, EventArgs e)
{
attackingPhase();
}
}
}
错误是告诉你到底出了什么问题'lbl_Health_Value_Enemy'改为'lbl_Health_Value_Enemy.Text' – MethodMan
同意methodman,我也推荐使用Int32.TryParse(string,out yourint)来处理 – Danimal
错误并不是说问题是w ith''.Text'我尝试过去.toString,但是这个错误对我来说并不明显。不知道为什么这会在求救时被低估。我问了一个有效的问题 – Ashton