我开发了一个控件,该控件根据其定位子元素Height
。当我用模拟器测试它时一切正常,但在实际设备上我必须使用(Height * 2)
它来正确定位它。
除此之外,16x16
在模拟器上看起来不错的图标,但在实际设备上放大得非常厉害,因为PictureBox
它的高度和宽度突然增加了两倍。
这种有线现象发生在我测试应用程序的所有设备上。
这是否与移动设备的屏幕分辨率有关?这个问题的原因是什么,我该如何解决这个问题?
编辑: 这是计算元素下一个位置的代码。注释掉的代码适用于设备,但不适用于模拟器。
private Point GetNextUserControlLocation(Control control)
{
var numberOfControls = Controls.Count;
if (numberOfControls < 1)
return new Point(1, 1);
var latest = Controls[numberOfControls - 1];
var x = latest.Location.X;
// var y = latest.Location.Y + control.Height * 2 + 1;
var y = latest.Location.Y + control.Height + 1;
return new Point(x, y);
}