![]() ![]() ![]() ![]() |
|||||
|
|||||
樓主 fish0111 ![]()
![]() |
目前的程式碼(沒有跳回的動作),想請問該如何修改? |
1樓 |
1. BindingSource1.MovePrevious(); 是往上跑不是往下跑
2. (我用VB 寫的,您自已改成 C#) if BindingSource1.position=0 then BindingSource1.position=bindingsource1.rows.count end if BindingSource1.MovePrevious(); TextBox1.Text = dataGridView1.CurrentRow.Cells[0].FormattedValue.ToString(); TextBox2.Text = dataGridView1.CurrentRow.Cells[1].FormattedValue.ToString();
本篇文章回覆於2018-04-21 23:02
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔-- |
2樓 |
End Sub 之前還要再加1句 application.doevents
本篇文章回覆於2018-04-21 23:03
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔-- |
3樓 |
應該不需要 application.doevents 吧,
因為Timer跑完自己就會更新了
本篇文章回覆於2018-04-21 23:08
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔-- |
4樓 |
Application.doevents <---的確不一定要加
因為不知他程式是如何寫的,如果控制權沒有交回到 FORM 的話,datagridview 是不會更新的。 我碰過也曾在此幫他人解決過這個問題。 所以加一下比較保險。
本篇文章回覆於2018-04-22 06:33
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔-- |
5樓 |
是喔,所以Timer也會有這個問題嗎?
看這個Timer應該是拉控制項的, 應該是System.Windows.Forms.Timer (.Net的Timer有三種)
本篇文章回覆於2018-04-22 08:52
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔-- |
6樓 |
控制權交回給 Form ? 你指的是甚麼控制權?如果要講的是執行緒,CLR 執行緒控制權的移轉通常是由 CLR 自行管理,和程式設計的人無關。
Forms.Timer 的 Tick 事件委派函式會執行在該 Form 所在執行緒,所以交回的說法讓人覺得不合理。 Application.DoEvents 也不是定義成甚麼控制權移轉,它的作用是強迫目前在訊息佇列等待的訊息執行,使用它有風險,因為程式流程可能會變得無法預測。 如非很不得已,強烈建議不要使用 Applications.DoEvents。 如果一件事情需要 Application.DoEvents,表示會有長時間卡住 UI 執行緒。對於這樣的長時運算,比較建議的作法要不是乾脆直接使用 Thread 或 ThreadPool 搞其他執行緒來做長時運算 ,要不然就是使用 TPL 做多緒/非同步設計。 我也建議不要用 Forms.Timer ,因為它倚賴事件訊息迴圈,除非是非常簡單的處理;建議用 System.Timers.Timer 或 System.Threading,Timer。
本篇文章回覆於2018-04-23 11:19
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔-- |
7樓 |
我也覺的用Thread比較好
本篇文章回覆於2018-04-24 10:19
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔-- |
回覆 |
如要回應,請先登入. |