我知道,我知道有很多很多问题在这里询问这个错误,每个问题都有自己的反应,但更容易解决关于你自己的代码而不是其他人的反应/ p>
我已经为这个课程做了一段时间的大学工作,一旦我开始上课来计算它现在崩溃的东西总数,
我不知道在哪里看,所以我会发布我的主要代码
enter code here
namespace Till
public partial class MainWindow : Window
{
Calculator calc = new Calculator();
public MainWindow()
{
InitializeComponent();
}
public bool User;
public bool tillopen = false;
private void button_Click(object sender, RoutedEventArgs e)
{
//button clone thingy
Button btn = (Button)sender;
label.Content = label.Content + btn.Content.ToString();
Console.Beep(); // makes the buttons beep
}
private void clear_Click(object sender, RoutedEventArgs e)
{
// Clear
label.Content = "";
}
private void Button_Submit_Click(object sender, RoutedEventArgs e)
{
// submit
listView.Items.Add(label.Content);
label.Content = "";
calc.setSoldItems(Convert.ToInt32(label.Content)); /// it breaks on this line///
}
private void button13_Click(object sender, RoutedEventArgs e)
{
//void sale
label.Content = "";
listView.Items.Clear();
}
private void button15_Click(object sender, RoutedEventArgs e)
{
//pound
label.Content = "1.00";
}
private void button12_Click(object sender, RoutedEventArgs e)
{
//till open close
tillopen = true;
}
private void button16_Click(object sender, RoutedEventArgs e)
{
Login m = new Login();
m.Show();
this.Close();
}
private void button14_Click(object sender, RoutedEventArgs e)
{
label.Content = "2.00"; // 2 pound
}
private void button17_Click(object sender, RoutedEventArgs e)
{
label.Content = calc.finish();
}
}
我试图在另一个WPF(转换为int32)中重新创建错误并且它工作正常,我知道这是我的代码本身的问题,我已经尝试使用其他机器并使用不同版本的视觉工作室本身,所以我们假设它的代码本身而不是破坏的dll文件
所以,在我和我的老师坐下来之前,我会花一整天的时间来寻找帮助,以便节省我们的时间。这项任务将于3周内完成,并决定打破在我身上。
thankies
要复制此错误,我按下我的Windows窗体上的数字按钮,它们点击我创建的提交按钮(开始转换)如果我的类的副本处理所有这些需要我很高兴发布它< / p>
答案 0 :(得分:0)
在方法 button_click 中,您已将值指定为
public MainPage()
{
this.InitializeComponent();
this.Loaded += MainPage_Loaded;
}
private async void MainPage_Loaded(object sender, RoutedEventArgs e)
{
WebServiceTransfer.TransferSoapClient tsc = new WebServiceTransfer.TransferSoapClient();
var response = await tsc.HelloWorldAsync();
textBlock.Text = response.Body.HelloWorldResult;
}
是标签的字符串值,值是连接而不是添加。
当您阅读它时,您将在Int32中进行转换。这将给出异常,因为它不包含任何整数值。
您可以添加如下值:
label.Content = label.Content + btn.Content.ToString();
并在转换之前进行检查,如果标签中有空白值,如果它没有转换它们,并且仅在它有某些值时转换该值,则不会给出任何错误。也不要指定除数字之外的任何值。
答案 1 :(得分:0)
您正在计算:
Convert.ToInt32(label.Content)
但是在你设置之前的那一行:
label.Content = "";
所以这意味着你在计算
Convert.ToInt32("")
,它会为您提供FormatException
。
也许你应该在覆盖它之前使用label.Content
的值 ?