假設我有兩種形式。在Form1中,我有一個計數器(計數++),在Form2中我有一個文本框(textBox1),它顯示了計時器的計數。現在我想知道如何在沒有任何用戶干擾(單擊按鈕)的情況下在'textBox1'中顯示整數'count',換句話說,我將如何使文本框中的數據自動刷新(不使用Form2 form = new Form2(); form.Show();
)。我想要2個獨立的窗口,一個運行計時器,另一個文本框顯示定時器計數了多少,並不斷更新(在定時器的幫助下,我假設)。在表單之間發送數據時不使用.Show()
0
A
回答
3
一種方法是創建一個公共事件並從另一個表單註冊該事件。
0
您可以有一個單一/靜態類,它包含與所有表單相關的所有數據,並將其公開爲屬性。所有表單都可以編寫和讀取這些屬性。此外,它還會觸發表單在屬性更改時可以訂閱的事件(以防您需要實時更新)。
1
最簡單的方法:在Form2上公開一個屬性。在屬性的設置器中,設置文本框的值。我相信計時器事件在UI線程上觸發,所以你不應該有任何線程安全問題。如果你這樣做,你將不得不回到Brian上面提到的公共事件方法。
請記住,您可能還必須執行DoEvents()以使UI實際更新爲用戶。另外請記住,這種更新本質上會減慢應用程序的處理速度。
public int TimerValue
{
set
{
this.txtTextBox.Text = string.Format("{0:0000}", value);
}
}
0
只要讓你的計時器成爲一個公共事件,以便它可以在另一個表單上引用。
0
實現定時器形式INotifyPropertyChanged,並且定義表示計數的公共屬性:
private int count;
public int Count
{
get { return count; }
set
{
if (count != value)
{
count = value;
OnPropertyChanged("Count");
}
}
}
然後,文本框形式,其綁定到你的文本框的文本價值的計時器形式的Count屬性。
textbox.DataBindings.Add("Text", timerForm, "Count");
相關問題
- 1. 使用Ajax發送表單多時間
- 2. 單擊鏈接時不發送表單而發送POST數據?
- 3. Mvc和Web表單。如何在它們之間發送數據?
- 4. 在類和表單之間發送數據?
- 5. 在不使用segsen的ViewControllers之間發送數據
- 6. 使用php發送表單數據,但不發送
- 7. 如何使用事件和委託在表單之間發送數據?
- 8. 使用jQuery發送表單數據之前操縱表單數據
- 9. 使用ajax發送表單數據
- 10. 使用PHP從表單發送數據
- 11. 使用Firebug發送表單數據
- 12. Django request.user.is_authenticated()在發送表單數據時不起作用
- 13. 在php和c之間發送數據
- 14. 如何在iBeacons之間發送數據
- 15. 在罐子之間發送數據?
- 16. Android在活動之間發送數據
- 17. 在php頁面之間發送數據
- 18. 在站點之間發送數據
- 19. 在erlang和C++之間發送數據
- 20. 在XUL組件之間發送數據
- 21. 在iPhone和iPad之間發送數據?
- 22. 在調整之間發送數據
- 23. 在窗體之間發送ListView數據
- 24. 使用javascript在表單提交之前設置Element值不發送POST數據
- 25. 在活動之間發送數據時發生崩潰
- 26. 在C#中的不同類之間發送數據(推送中)
- 27. 使用PHP將數據發送到HTML而不使用表單
- 28. 使用共享首選項在片段之間發送數據
- 29. 使用WM_COPYDATA在進程之間發送數據
- 30. 使用自定義變量在活動之間發送數據
單身人士模式被視爲反模式很多這些天,所以我不會推薦使用它。 – 2010-05-24 18:41:34
你應該總是使用適合你的東西。 – bitbonk 2010-05-24 18:42:11