假設(shè),我需要通過滾動條的移動來執(zhí)行資源密集型任務(wù)。private void hScrollBar_ValueChanged(object sender, EventArgs e){ ReCalculate();}void ReCalculate(){ try { int n = hScrollBar1.Value; int f0 = hScrollBar2.Value; int theta = hScrollBar3.Value; int a = hScrollBar4.Value; //... resource-intensive task which uses scroll-bar's values. } catch { }}我面臨的問題是,事件處理程序會隨著滾動條的微小變化而執(zhí)行。我需要阻止事件處理程序的執(zhí)行,直到釋放鼠標(biāo)。因此,我嘗試使用 mouse-enter 和 mouse-leave 事件處理程序,例如:bool ready = false;private void hScrollBars_MouseEnter(object sender, EventArgs e){ ready = false;}private void hScrollBars_MouseLeave(object sender, EventArgs e){ ready = true;}以及像這樣的檢查:void ReCalculate(){ if(ready) { try { int n = hScrollBar1.Value; int f0 = hScrollBar2.Value; int theta = hScrollBar3.Value; int a = hScrollBar4.Value; //... resource-intensive task which uses scroll-bar's values. } catch { } }}但是,它不起作用。我怎樣才能做到這一點?
阻止?jié)L動條的值更改事件處理程序,直到滾動條被釋放
慕田峪9158850
2022-01-09 10:11:21