1
我正在使用角柄实现形状大小调整。在某些情况下,用鼠标拿着手柄的某些动作是不合法的,例如,如果它实际上将其扩展到控制范围之外。所以在这种情况下,我想要做的是以编程方式“取消”飞行中的鼠标移动,以便鼠标将停留在静止的矩形框的边界内。我该怎么做呢?我可以“取消”鼠标移动,并使鼠标光标保持可见,但在适当的位置?
我正在使用角柄实现形状大小调整。在某些情况下,用鼠标拿着手柄的某些动作是不合法的,例如,如果它实际上将其扩展到控制范围之外。所以在这种情况下,我想要做的是以编程方式“取消”飞行中的鼠标移动,以便鼠标将停留在静止的矩形框的边界内。我该怎么做呢?我可以“取消”鼠标移动,并使鼠标光标保持可见,但在适当的位置?
尝试使用ClipCursor的API函数(http://msdn.microsoft.com/en-us/library/ms648383(VS.85).aspx)
下面是一个例子:
[DllImport("user32.dll")]
static extern bool ClipCursor(ref RECT lpRect);
public struct RECT
{
public int Left;
public int Top;
public int Right;
public int Bottom;
public RECT(int left, int top, int right, int bottom)
{
Left = left;
Top = top;
Right = right;
Bottom = bottom;
}
}
private void button7_Click(object sender, EventArgs e)
{
RECT rect = new RECT(Left, Top, Width, Bottom);
ClipCursor(ref rect);
}
问候
它只适用于在窗口中应用,因为当您应用后更改为另一个窗口时,它会失去效果,是否有将它应用于所有窗口? –
网络,WinForm的,WPF? –