我正在使用角手柄实现形状调整。在某些情况下,用鼠标握住手柄的某些动作是不合法的,例如,如果它实际上将它扩展到控制边界之外。所以我想在这种情况下做的是“取消”鼠标在程序上的移动,这样鼠标就会停留在固定句柄矩形的边界内。我该怎么做?
答案 0 :(得分: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);
}
问候