winform程序最大化时,页面显示不全的问题
最后貼上引起這個(gè)原因的代碼,但是這段代碼不能去掉,我要用,這段代碼可以解決頁面切換時(shí)的閃爍問題。
如果去掉這段代碼,確實(shí)可以完整顯示窗口,但是閃爍太嚴(yán)重了。
最大化后,試試讓窗體強(qiáng)制重繪一下。
是不是win10的字體設(shè)置不是100%?
確實(shí)越簡(jiǎn)單越好,我刪掉了一些。而且最好不要用panel,去掉panel就能減少閃爍。
WM_NCCALCSIZE刷新一下。
WndProc加一個(gè)判斷試試:
?
C# code?
| 1 2 3 4 | case?WM_NCCALCSIZE:?{//0x83 ?Refresh(); ????} ??????????????????????break; |
終于解決,我試了0x0083,好像沒用,我又試了0x0084,有點(diǎn)用,但是要移動(dòng)鼠標(biāo)。接著試了0x0085,有用,但是畫面一直在刷新,很明顯。
最后根據(jù)您的思路,我從1試到了0x0138?WM_CTLCOLORSTATIC??“當(dāng)一個(gè)靜態(tài)控件將要被繪制時(shí)發(fā)送此消息給它的父窗口;通過響應(yīng)這條消息,所有者窗口可以通過使用給定的相關(guān)顯示設(shè)備的句柄來設(shè)置靜態(tài)控件的文本和背景顏色”。加上這個(gè),就能解決問題。目前還沒發(fā)現(xiàn)什么隱患,別的問題。
C# code?
| 1 2 3 | ????????????????case?0x0138: ????????????????????Refresh(); ????????????????????break; |
總結(jié)
以上是生活随笔為你收集整理的winform程序最大化时,页面显示不全的问题的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Maven Helper 安装使用(ja
- 下一篇: springCloud - 第11篇 -