大家好,我是新手。請問,有兩個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;
}
PowerMainForm pf = new PowerMainForm();//這是主程序的UI界面
你都new了一個了,還喝原來的主程序的界面有啥關系。你下面那個setValue是設置到你新建的那個裡的label上去的,不是設置到你主程序的label上去的