Yeniden boyutlandırmak için bir Windows Formunda bir UserControl (üzerinde bir ızgara vardır) almaya çalışıyorum. Aşağıdaki kod, formda sahip olduğum koddur. Benim aldığım davranış kontrolün büyük olduğu zaman yeniden boyutlandırılmasıdır. Ama küçülmez. Neyi yanlış yapıyorum (veya) Neyi özlüyorum? İfade değiştirilemiyor, çünkü bu bir değişken değil
//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;
Bu hata bana "bu bir değişken olmadığı için ifade değiştirilemiyor" verir çalıştı:
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();
}
Şimdi kullanıcı kontrolü aşağıdaki kodu vardır. .. Neyi kaçırıyorum?
Ek Bilgi: Başka Form (ZoomForm) bir UserControl Büyütmek/taşımak için
Ben SetParent kullanıyorum(), Windows çağrı.
Anchor, SetParent() ile taşınan denetimler için işe yaramıyor gibi görünüyor ... Daha açıkçası, çalışıyor olabilir, ancak ben yeniden boyama sorunları var.
ben rötuş sorunları olmadan çalışmaya Çapa/dock çift var [I boyutlandırma olay wireup kaldırıldı ve Dolgu Yuvası ayarlanmış] ZoomForm Unsettling hiçbir denetimleri vardır
. Usercontrol, ParentForm'a dinamik olarak eklenir.
Şu anda
görüntüyü büyütmek için yukarıdaki kod
ile ancak daha küçük olmamalıdır. Size
tesiste değer türü olduğundan
Neden sadece yeniden boyutlandırmak için çapa özelliklerini yerine kod kullanmıyorsun? – recursive
@recursive: Bir UserControl öğesini başka bir forma (ZoomForm) taşımak/uzaklaştırmak için SetParent() Windows çağrısı kullanıyorum. Anchor SetParent() ile taşınan kontroller için işe yaramaz ... Daha doğrusu, belki çalışıyor olabilir ama ben yeniden boyama sorunları var –