Я пытаюсь получить UserControl (на котором есть сетка) в форме Windows для изменения размера.
Ниже приведен код, который я имею в форме. Поведение, которое я получаю, заключается в том, что размер элемента управления изменяется, когда я его увеличиваю. Но это не сжимается. Что я делаю не так (или) Что мне не хватает?
private void AdjustGrid()
{
ZoomControl.Location = new Point(5, 5);
ZoomControl.Size = new Size(this.Width - 15, this.Height - 75);
}
void zoomform_Resize(object sender, EventArgs e)
{
AdjustGrid();
}
Теперь пользовательский элемент управления имеет следующий код:
//Resize the grid that the UserControl has on it
private void NameValuePropertyBag_Resize(object sender, EventArgs e)
{
grdNameValueProperties.Location = new Point(4,4);
grdNameValueProperties.Size = new Size(this.Width - 8, this.Height - 8);
}
Я пытался
grdNameValueProperties.Size.Width = this.Width - 8;
grdNameValueProperties.Size.Height = this.Height -8;
Это выдает мне сообщение "Невозможно изменить выражение, потому что оно не является переменной" ... Чего мне не хватает?
Дополнительная информация:
Я использую функцию Windows SetParent () для перемещения / масштабирования UserControl в другую форму (ZoomForm).
Якорь, кажется, не работает для элементов управления, перемещенных с помощью SetParent () ... Точнее, он может работать, но у меня проблемы с перерисовкой.
Я заставил пару Anchor / Dock работать без проблем с перерисовкой [Я удалил проводку события resize и настроил Dock to Fill]
ZoomForm изначально не имеет элементов управления. Usercontrol добавляется в ParentForm динамически.
В настоящее время я могу увеличить зум-форму с помощью приведенного выше кода , но не меньше.