假設我有class A 跟class Form
先在Form裡面new一個A
接著從Form的UI Thread去Call了A的method X
(這時候X是在一個新的Thread裡面跑吧?)
當我這個 X 跑完或是跑到中途的時候,我想要改動Form裡面TextBox的內容
但是UI Thread似乎不會允許我這樣做,尤其在使用.net compact framework時
就直接跳個error說要用control.invoke來做這樣的事情
所以想請問,我應該要在new A這個class的時候把Form的this丟進去嗎?
當然A這個class會先宣告一個 System.Windows.Forms.Form myForm = null;
construct時 myForm = form
順帶問,即使我有了myForm,也應該不能直接做myForm.TextBox1.Text = "abc";
這樣的動作吧?
我應該要怎麼做,才能從class A裡面的某一個Method裡面,去改動到Form的TextBox
另外一問,我如果要從Class A去call一個Form裡面獨立的public void Method()
可以直接 myForm.Method() 嗎?還是說這個也得繞路?
目前有點昏頭中,思緒一整個亂糟糟
我這邊的觀念實在是不太懂,而且我delegate也不太熟析
不知道有沒有大大能做個範例詳細解說一下,感激不盡 m(_._)m
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 140.119.162.50