int row;
if (!columns.TryGetValue (control, out column))
- column = -1;
+ {
+ if (!(control is Control) || !columns.TryGetValue ((control as Control).Name, out column))
+ column = -1;
+ }
if (!rows.TryGetValue (control, out row))
- row = -1;
+ {
+ if (!(control is Control) || !rows.TryGetValue ((control as Control).Name, out row))
+ row = -1;
+ }
return new TableLayoutPanelCellPosition (column, row);
}
if (columns.TryGetValue (control, out retval))
return retval;
+ if ((control is Control) && columns.TryGetValue ((control as Control).Name, out retval))
+ return retval;
return -1;
}
if (column_spans.TryGetValue (control, out retval))
return retval;
+ if ((control is Control) && column_spans.TryGetValue ((control as Control).Name, out retval))
+ return retval;
return 1;
}
if (rows.TryGetValue (control, out retval))
return retval;
+ if ((control is Control) && rows.TryGetValue ((control as Control).Name, out retval))
+ return retval;
return -1;
}
if (row_spans.TryGetValue (control, out retval))
return retval;
+ if ((control is Control) && row_spans.TryGetValue ((control as Control).Name, out retval))
+ return retval;
return 1;
}