gpt4 book ai didi

c# - 当表单位于主监视器的上方和左侧时,光标变为对角线调整大小

转载 作者:可可西里 更新时间:2023-11-01 13:30:51 26 4
gpt4 key购买 nike

我们有一个在 XP64 和 Vista64 多显示器工作站上运行的应用程序,当应用程序中的单个表单移动到某些显示器时会遇到一个奇怪的问题。

如果将表单移动到主监视器左侧和上方的监视器(它在“显示设置”对话框中具有负坐标),则用户将光标放在表单中时会得到一个对角线大小调整光标(我仅当光标位于窗口的镶边中时才看到它发生,但用户报告它发生在整个窗口内)。

我能够确定只有当光标位于主监视器上方时才会发生这种情况(使辅助监视器仅部分位于主监视器上方会导致问题仅发生在主监视器上方的表单部分) .

这只发生在我们整个应用程序中的一个窗体上,而这个窗体并没有做任何特别花哨的事情(没有覆盖 WndProc 等),并且所有使用的自定义控件也用于其他窗体显示这个问题。

什么会导致对角线调整大小光标一直出现?

最佳答案

这似乎是 Form.WmNCHitTest 中的错误。我相信它确定 x 和 y 坐标的方式是不正确的(为了得到它所做的 y HIWORD((int)((long)lParam)),文档说使用 GET_Y_LPARAM 定义为 ((int)(short)HIWORD(lParam))).

它仅在您打开尺寸夹点时使用此方法。关闭尺寸夹点可绕过此代码并使表单正常工作。

关于c# - 当表单位于主监视器的上方和左侧时,光标变为对角线调整大小,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1504692/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com