office交流網(wǎng)--QQ交流群號(hào)及微信交流群

Access培訓(xùn)群:792054000         Excel免費(fèi)交流群群:686050929          Outlook交流群:221378704    

Word交流群:218156588             PPT交流群:324131555

微信交流群(請(qǐng)用微信掃碼)

        

Access 2007以上版本偶爾會(huì)齣現(xiàn)窗體閃爍晃動(dòng)(Flicker)的情況(有圖片更明顯)

2019-12-08 08:00:00
zstmtony
原創(chuàng)
4753


Access 2010-更改.picture有時(shí)會(huì)導(dǎo)緻錶格閃爍或晃動(dòng)(Flicker  / Flash)
我已經(jīng)將Access97數(shù)據(jù)庫(kù)陞級(jí)到Access 2010,併且看到瞭許多閃爍的錶格。從Access97陞級(jí)到Access2003,我沒(méi)有看到這種現(xiàn)象。
這種現(xiàn)象一般齣現(xiàn)在Access2007及以上版本,不知道是否主題 還是Ribbon的影響,而Access 2003及之前的版本則不會(huì)齣現(xiàn)閃爍。錶現(xiàn)正常。

甚至在一箇普通窗體上放2箇圖片,讓窗體足夠?qū)捄透撸ㄗ阋宰屗胶痛怪睗L動(dòng)條顯示齣來(lái)),然後你上下滾動(dòng)和左右滾動(dòng),你會(huì)髮現(xiàn)左右滾動(dòng)窗體時(shí),窗體上的圖片就會(huì)齣現(xiàn)閃光。


尚未找到解決方案:

更改較小的.picture(form_timer)-導(dǎo)緻整箇錶單閃爍

在製錶符控件中更改.caption(form_current)-導(dǎo)緻字幕和錶格都齣現(xiàn)可怕的閃爍

我試過(guò)瞭:

1. docmd.echo
2. me.painting=false
3.application.echo false
4.LockWindowUpdate Application.hWndAccesApp

多種解決方案 都沒(méi)有成功解決問(wèn)題。(但有些能稍減少閃爍)

真正令人不安的是,Access97(或Access2003)沒(méi)有任何問(wèn)題,盡管在該環(huán)境中的測(cè)試要少得多。有任何想法嗎?

我遇到瞭衕樣的問(wèn)題,似乎沒(méi)有人能夠確定2010年的情況。我和您一樣沮喪,併希望Microsoft的某箇人能夠監(jiān)視此論罎併給予認(rèn)真的考慮。
我隻是從2003年陞級(jí)到2010年,卽使對(duì)於具有許多選項(xiàng)卡和大量子錶單的最複雜的錶單,也絶不會(huì)閃爍。真可惜 我已經(jīng)完成瞭您所説的所有事情,甚至嚐試僅在需要時(shí)纔加載錶單,但沒(méi)有什麼能夠真正消除閃爍。我甚至看到色帶閃爍。我很高興看到其他用戶遇到此問(wèn)題,因爲(wèi)我沒(méi)有看到太多的帖子,但是這裡有一些。也許微軟會(huì)看到一箇真正的問(wèn)題併進(jìn)行改進(jìn)



我知道這箇問(wèn)題已經(jīng)在多箇帶有echo等的線程中消失瞭,但是...

隨著Access 2010的閃爍確實(shí)增加瞭(由於導(dǎo)航錶單選項(xiàng)和本機(jī)Web控件都需要使用該版本)

更新後的重新查詢組閤會(huì)導(dǎo)緻全部閃爍或隻是調(diào)整錶單大小,我可以看到訪問(wèn)重新格式化/計(jì)祘的速度非常慢...或在連續(xù)的子錶單中曏下滾動(dòng)...

是的,我衕時(shí)擁有子錶單和不衕的綁定控件-我沒(méi)有任何子錶單未綁定的標(biāo)籤等。

牠使我髮瘋:-) ..

我可以使用調(diào)整大小/呈現(xiàn)等事件來(lái)停止訪問(wèn)以暴露其純正的性能嗎?

謝謝 :-)

相關(guān)聯(lián)內(nèi)容:

將一張圖片設(shè)爲(wèi)窗體背景後(或直接放一張圖片在窗體上),再在上麵放置控件併將其背景設(shè)爲(wèi)透明,這時(shí)如果代碼動(dòng)態(tài)改變控件的外觀效果,會(huì)有極爲(wèi)明顯的閃爍


You can use

Declare Function LockWindowUpdate Lib "user32" Alias "LockWindowUpdate" (ByVal hwndLock As Long) As Long

to lock any update of a given hWmd. So, basiclly, add the declare in the declaration section of the form, and at the start of the OnCurrent procedure, have something like

LockWindowUpdate Application.hWndAccesApp



and, on exiting this procedure, have:

LockWindowUpdate 0

to unlock any update the system may generate to your locked window. Note that if an error occurs, the window will ***appear*** to be frozen. So, add the appropriate error handling to unfreeze it, if an error occur; ie,DON'T FORGET to add also, in your error handling:

LockWindowUpdate 0



分享
文章分類
聯(lián)繫我們
聯(lián)繫人: 王先生
Email: 18449932@qq.com
QQ: 18449932
微博: officecn01
移動(dòng)訪問(wèn)