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