C++ cli 将System::String转换为int

C++ cli 将System::String转换为int,c++-cli,picturebox,C++ Cli,Picturebox,我试图从传感器读取值,并根据该值绘制一些数字。我想将传感器的值与int变量进行比较,我认为这是我的问题。这就是我正在做的: System::String ^leido=this->serialPort1->ReadLine(); Int32 tb1Int; Int32 cien=0; bool ret = Int32::TryParse(leido, tb1Int); //Drawing if (tb1Int > cien){ PictureBox ^g = gcnew

我试图从传感器读取值,并根据该值绘制一些数字。我想将传感器的值与int变量进行比较,我认为这是我的问题。这就是我正在做的:

System::String ^leido=this->serialPort1->ReadLine();
Int32 tb1Int;
Int32 cien=0;
bool ret = Int32::TryParse(leido, tb1Int); 

//Drawing

if (tb1Int > cien){
PictureBox ^g = gcnew PictureBox;
g->Parent = this;
g->Location = Point(630,20);
g->Size::set(Drawing::Size(900,90));
g->BackColor::set(Color::Aquamarine);}
我确信问题在于比较(tb1Int>cien)。应满足,但未执行绘图代码


有什么帮助吗???

字符串中有什么
leido
TryParse
是否返回true?我猜是“垃圾”和“不”。在你修复这些之前,你不应该期望你的绘图代码被触发。“leido”包含从传感器读取的值,“TryParse”的返回值指示转换是否成功,因此它是“true”是的,我实际上可以读取代码。您是否实际检查了
leido
中的值?如果是,请与我们分享。如果没有,请走开检查。