花心码农 2015-05-18 14:11 采纳率: 100%
浏览 1689
已采纳

一个cs里的SerialPort接收事件里,修改主程序label元素属性,不成功。

大家好,我是新手。请问,有两个cs,一个是SerialPort.cs,一个是Power.MainForm.cs.问题是在 SerialPort的接收事件里,修改主程序的label元素的属性,为什么不成功。代码如下。
//serialPort.cs
private void serialPort1_DataReceived(object sender, SerialDataReceivedEventArgs e)

{

  byte[] list = new byte[size];
 serial.Read(list,0,size);
 foreach(byte b int list)
{
 builder.Append(b.ToString...)
 }
 string str = builder.ToString();
 if(!"".Equals(str) && str.Contains("OA"))
 {
     PowerMainForm pf = new PowerMainForm();//这是主程序的UI界面
     pf.setValue(); // 问题就是这里进行执行了,没有效果。????
 }

}

//PowerMainForm的setValue()方法,是在PowerMainForm.cs里
public void setValue()
{
messageshow.show("开始显示");
label21.text = 'aa';
label23.visible = true;
}

  • 写回答

3条回答 默认 最新

  • 知常曰明 2015-05-18 21:29
    关注
    PowerMainForm pf = new PowerMainForm();//这是主程序的UI界面
    

    你都new了一个了,还喝原来的主程序的界面有啥关系。你下面那个setValue是设置到你新建的那个里的label上去的,不是设置到你主程序的label上去的

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(2条)

报告相同问题?