我已经创建了应用程序,用户可以在运行时拖放控件。我使用我的ss
函数来使用二维数组对齐表格中的控件。我希望应用程序显示/突出显示控件放置在特定坐标附近时的位置。在c中突出显示动态控件的潜在位置#
struct IconPanel
{
public int left;
public int top;
}
static void ss(Control control)
{
int row, col, nearestCol = 0, nearestRow = 0, rowDist = 100, diff, colDist = 100;
for (row = 0; row < iconPanels.GetLength(0); row++)
{
for (col = 0; col < iconPanels.GetLength(1); col++)
{
diff = Math.Abs(control.Left - iconPanels[row, col].left);
if (diff < colDist)
{
colDist = diff;
nearestCol = col;
}
diff = Math.Abs(control.Top - iconPanels[row, col].top);
if (diff < rowDist)
{
rowDist = diff;
nearestRow = row;
}
}
}
control.Left = iconPanels[nearestRow, nearestCol].left;
control.Top = iconPanels[nearestRow, nearestCol].top;
}
我只想要执行ss函数后可能放置控件的空间。我知道使用iconPanels [nearestRow,nearestCol] .left,top放置控件的位置。但是我无法将该位置分配给矩形,因为rectangle.left不能设置。如果我可以指定创建的矩形的位置,它将是完美的。 – user3201928
“矩形”是一种结构,并且简单地将左侧设置为(?)用例如'新的矩形(位置,大小);' – TaW