我使用.PointToScreen(Point.Empty);来确定控件相对于整个屏幕的位置。我面临的唯一问题是,如果坐标在表单中,那么坐标总是会有一点偏差。在我看来,发生的情况是表单的边距没有被考虑到,并导致了这个错误。
我用它来截取整个窗体或窗体内控件的屏幕截图。当我做一个完整的屏幕截图时,发生的情况是页边距又一次没有被考虑在内。.PointToScreen(Point.Empty);给出的坐标是表单的左上角,但它位于表单的内部,所以当我从这一点截取屏幕截图时,它会越过右边界和下边界。
有没有一种自动的内置方法来修复这个问题,或者我必须手动补偿这个边距错误?
static public
在一个活动中,我们可以使用getIntent()获取请求的上角和左上角的坐标,以启动一个活动:
top = this.getIntent().getSourceBounds().top;
left = this.getIntent().getSourceBounds().left;
因此,如果一个小部件请求启动某个活动,那么如果应用小部件的子视图(比如按钮或文本视图)来启动活动,我们可以得到它的左上角coordinates.But,我们如何获得小部件左上角的坐标呢?
我在LabView的FrontPanel上有一个按钮。我在VisualStudio中创建了一个动态链接库,我想在Labview中使用它来获取该按钮的坐标。
public void GetCoords(Control ctr, out Point p)
{
Point location = ctr.PointToScreen(Point.Empty);
p = location;
}
我的GetCoords方法使用了一个"Control“输入参数,这是我在LabView中的按钮。当我使用DLL将我的按钮引用从Labview链接到来自
所以我的表单中有一个对象,它可以用箭头键移动。如果我的对象试图离开形体,那么交互应该阻止或恢复到它试图离开的地方,或者将传送到形体的中心。我该怎么做?我的目标是一个图片盒。这是我现在唯一拥有的东西:
If picturebox1.location.x < 0 or picturebox1.location.y < 0 then
picturebox1.location = new point(10,10)
End if
是否有密码来说明是否离开了表单?
我正在制作一个定制的EditorWindow。我想要确定哪个元素位于当前鼠标位置。
当我使用GUI或EditorGUI时,这很容易。GUI/EditorGUI使用Rect position,将元素放置在它必须在的位置。我的代码可以是这样的:
Rect button = new Rect(10, 10, 50, 50);
List<Rect> elements = new List<Rect>();
void OnEnable() {
// loop to initialize elements and add them to the list
}
void