我正在尝试用一个简单的程序计算一个方程,但是当我尝试运行我的代码时,我得到了这个异常
Unable to cast object of type 'System.Windows.Forms.TextBox' to type 'System.IConvertible'.我不知道我做错了什么,方程式看起来没问题,但这就是产生错误的地方,这是我试图编码的方程式。

下面是我的代码
namespace WindowsFormsApplication1
{
public partial class Form1 : Form
{
double r = 0;
public Form1()
{
InitializeComponent();
}
private void button1_Click(object sender, EventArgs e)
{
r = (((Math.Sqrt(2) * Convert.ToDouble(textBox4.Text)) /(2* Math.PI * Convert.ToDouble(textBox3.Text))) * (1/Convert.ToDouble(textBox2) +1/Convert.ToDouble(textBox1)) );
label7.Text = "R1 = " + r.ToString() + " ohms/km";
}
}
}发布于 2013-05-02 18:20:49
你的问题是在你的长队列的末尾有这样的东西:
(1/Convert.ToDouble(textBox2) +1/Convert.ToDouble(textBox1))它需要为textBox2.Text,因为您不能将textbox对象转换为double。
另外,出于可读性的考虑,最好不要在一行中完成所有的转换,而是一次一个地转换成单独的变量,然后使用这些变量。这也会让你不太可能遇到这种类型的问题,因为它会更清楚地指出哪里出了问题。
https://stackoverflow.com/questions/16335542
复制相似问题