调整大小捕捉到窗口的某些宽度

时间:2011-02-05 07:10:08

标签: c# wpf resize window haskell-snap-framework

背景 我有一个宽度为240像素的窗口,有些视觉元素只能在这个宽度上以特定方式显示,但是允许调整大小并且必须允许。

如果有人决定调整大小,那么我将需要某种“Snap”来恢复原始宽度。为了恢复完整的视觉效果,要求用户正确获取精确的px将是一种痛苦/接下来是不可能的。

问题那么,如果它们在任何一个方向上距离240px一定距离(比方说,在4px内),它怎么能这样做呢,它会捕捉到那个宽度,并调整大小仅当调整大小光标偏离宽度超过4px时才变为不同的大小..

失败的想法:我玩了几个不同的东西,如果它在4px内,则在sizeChanged事件中将窗口宽度设置为240,但由于这是在size事件上,它会做窗口已经调整大小后的计算。这意味着当调整大小/远离默认宽度时,你会得到一个非常不稳定的效果。

1 个答案:

答案 0 :(得分:1)

这是一条消息,解释了如何通过在您自己的窗口过程中处理WM_SIZING消息来获得对大小调整的细粒度控制:

主持人的示例代码在VB中,但您可以使用大量的C#/ WinForms示例开始。