winform程序最大化时,页面显示不全的问题

最后贴上引起这个原因的代码,但是这段代码不能去掉,我要用,这段代码可以解决页面切换时的闪烁问题。

如果去掉这段代码,确实可以完整显示窗口,但是闪烁太严重了。

最大化后,试试让窗体强制重绘一下。

是不是win10的字体设置不是100%?

确实越简单越好,我删掉了一些。而且最好不要用panel,去掉panel就能减少闪烁。

WM_NCCALCSIZE刷新一下。

WndProc加一个判断试试:
 

C# code?

1

2

3

4

case WM_NCCALCSIZE: {//0x83

 Refresh();

    }

                      break;

终于解决,我试了0x0083,好像没用,我又试了0x0084,有点用,但是要移动鼠标。接着试了0x0085,有用,但是画面一直在刷新,很明显。
最后根据您的思路,我从1试到了0x0138 WM_CTLCOLORSTATIC  “当一个静态控件将要被绘制时发送此消息给它的父窗口;通过响应这条消息,所有者窗口可以通过使用给定的相关显示设备的句柄来设置静态控件的文本和背景颜色”。加上这个,就能解决问题。目前还没发现什么隐患,别的问题。

C# code?

1

2

3

                case 0x0138:

                    Refresh();

                    break;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值