如何判断mdi主窗体在桌面是否被其他窗体全部遮挡和部分遮挡?

752 2006-08-07 05:43:14
rt
...全文
254 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
752 2006-08-08
  • 打赏
  • 举报
回复
对啊,我将一个窗体先遮住主窗体的大部分,然后向下移动以扩大他的显示区域从而触发paint事件,但是在他的paint中的剪切区域都为0
Knight94 2006-08-08
  • 打赏
  • 举报
回复
to paint中的代码原来试想通过剪切区域来判断是否最小化的,无奈主从窗体都为0。

这是当然,窗体被遮并不会触发paint事件。
752 2006-08-07
  • 打赏
  • 举报
回复
paint中的代码原来试想通过剪切区域来判断是否最小化的,无奈主从窗体都为0。
项目已经大半了,即使是三方控件的问题现在也来不及换了,所以才想出最小化这么个办法。
Knight94 2006-08-07
  • 打赏
  • 举报
回复
to 系统中用了一些第三方控件,其他控件已经尽可能优化了,刚启动就用了30多M。

单独写个小程序,使用这个控件,做几个简单操作,看看吃内存的是否是它。
Knight94 2006-08-07
  • 打赏
  • 举报
回复
to paint中没有做任何事情,是想要判断是否被遮挡的情况下加了一些测试代码。

被遮挡不会触发paint,移开才会触发。
752 2006-08-07
  • 打赏
  • 举报
回复
系统中用了一些第三方控件,其他控件已经尽可能优化了,刚启动就用了30多M。
paint中没有做任何事情,是想要判断是否被遮挡的情况下加了一些测试代码。
Knight94 2006-08-07
  • 打赏
  • 举报
回复
to 运行不久后都上100M了(768m的内存),该collect()的地方都加了,有点效果,但内存上去了就不下来或者是进2退1,实在没法,想在主窗体完全被遮挡时最小化。
虽然这是不得已的方法,但是效果非常明显,主要是在任务管理器中的数字真是天壤之别

最小化能降低内存?

那你在窗体上做了什么操作,例如paint之类的事件,或者你窗体上什么control做了哪些操作,这么吃资源。

最好能找到吃内存的原因,从根本上解决可能效果更好。
752 2006-08-07
  • 打赏
  • 举报
回复
to:lookfeng()
不管是主窗体还是子窗体的paint中参数e的rect都为0
752 2006-08-07
  • 打赏
  • 举报
回复
to:Knight94(愚翁)
谢谢您的关注!系统现在吃内存吃得厉害,运行不久后都上100M了(768m的内存),该collect()的地方都加了,有点效果,但内存上去了就不下来或者是进2退1,实在没法,想在主窗体完全被遮挡时最小化。
虽然这是不得已的方法,但是效果非常明显,主要是在任务管理器中的数字真是天壤之别。虽然这些数字不是完全真实,但是客户不这么想啊!
lookfeng 2006-08-07
  • 打赏
  • 举报
回复
在窗体Paint事件里判断
e.Graphic的剪切区域是否等于窗体客户区域
Knight94 2006-08-07
  • 打赏
  • 举报
回复
说说你要做什么
牛人 2006-08-07
  • 打赏
  • 举报
回复
路过。。支持一下

110,533

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧