[問題] 透過button_click呼叫原表單的物件..
我的程式大概長的是這樣.
也是有關serial port的問題.
但是應該主要還是跨物件參考的問題.
大略程式碼如下,
我是希望click按鈕之後,
執行一段程式碼,其中有一個內容需要去接收回傳的訊息,
如果有資料回傳的話,
就呼叫change.
但是這邊會有一點問題出現.
總共出現兩個錯誤.
錯誤 1 需要有物件參考才能使用非靜態欄位、方法或屬性
'WindowsApplication1.Form1.textBox2' D:\c_sharp\寫入
\WindowsApplication1\WindowsApplication1\Form1.cs
190 67 WindowsApplication1
錯誤 2 需要有物件參考才能使用非靜態欄位、方法或屬性
'WindowsApplication1.Form1.change(string,
System.Windows.Forms.Control)' D:\c_sharp\寫入
\WindowsApplication1\WindowsApplication1\Form1.cs
190 21 WindowsApplication1
若將change的宣告改成static
錯誤2則變成
錯誤 2 關鍵字 'this' 不能用於靜態屬性、靜態方法或靜態欄位初始設定式
D:\c_sharp\寫入
\WindowsApplication1\WindowsApplication1\Form1.cs
206 17 WindowsApplication1
請問這邊應該怎麼解決呢?
找了幾個都說宣告static就好,只是宣告了,問題還是在.
以上,麻煩各位了.
--
public form()
{
private delegate void changeuicallback(string value, Control ctl);
private void button3_click()
{
senddata(argu1,argu2,argu3);
}
private void senddata(string argu1,argu2,argu3)
{
serial.open();//開啟serial port
while (port.BytesToRead != 0)
{
change(Convert.ToString(port.ReadByte(), 16), textBox2);
}
serial.close();
}
private void change(string data, Control ctl)
{
data = data.ToUpper().PadLeft(2, '0');
if (this.InvokeRequired)
{
changeuicallback uu2 = new changeuicallback(change);
this.Invoke(uu2, data, ctl);
}
else
{
ctl.Text += data;
}
}
}
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 118.169.229.97
推
01/21 16:41, , 1F
01/21 16:41, 1F
→
01/21 16:42, , 2F
01/21 16:42, 2F
→
01/21 16:42, , 3F
01/21 16:42, 3F
推
01/21 16:47, , 4F
01/21 16:47, 4F
→
01/21 16:47, , 5F
01/21 16:47, 5F
→
01/21 16:53, , 6F
01/21 16:53, 6F
→
01/21 16:54, , 7F
01/21 16:54, 7F
→
01/21 16:54, , 8F
01/21 16:54, 8F
→
01/21 16:55, , 9F
01/21 16:55, 9F
→
01/21 16:55, , 10F
01/21 16:55, 10F
推
01/21 22:30, , 11F
01/21 22:30, 11F
→
01/21 22:31, , 12F
01/21 22:31, 12F
→
01/22 06:43, , 13F
01/22 06:43, 13F
→
01/22 06:43, , 14F
01/22 06:43, 14F