Sto cercando di ottenere un controllo utente (che ha una griglia su di esso) su un Windows Form da ridimensionare. Il codice seguente è quello che ho nel modulo. Il comportamento che sto ottenendo è che il controllo viene ridimensionato quando lo faccio grande. Ma non si restringe. Cosa sto facendo di sbagliato (o) Cosa mi manca?Impossibile modificare l'espressione perché non è una variabile
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();
}
Ora il controllo utente ha il seguente codice:
//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);
}
ho cercato
grdNameValueProperties.Size.Width = this.Width - 8;
grdNameValueProperties.Size.Height = this.Height -8;
Mi dà "Non è possibile modificare l'espressione, perché non è una variabile" errore. .. Cosa mi sto perdendo?
Informazione supplementare:
sto usando SetParent() di Windows chiamata a spostare/ingrandire un UserControl a un altro modulo (ZoomForm).
L'ancoraggio sembra non funzionare per i controlli spostati con SetParent() ... Più precisamente, potrebbe funzionare ma ho dei problemi di riverniciatura.
ho avuto paio di ancoraggio/Dock di lavorare senza problemi ridipingere [ho rimosso il wireup evento resize e regolato Dock per Fill]
Lo ZoomForm ha inizialmente controlli. Usercontrol viene aggiunto a ParentForm in modo dinamico.
Attualmente, sono in grado di ingrandire il formato
con il codice sopra
ma non più piccolo.
Perché non utilizzare le proprietà di ancoraggio anziché il codice per ridimensionare? – recursive
@recursive: sto utilizzando la chiamata Windows SetParent() per spostare/ingrandire un controllo utente su un altro modulo (ZoomForm). L'ancoraggio non sembra funzionare per i controlli spostati con SetParent() ... Più precisamente, potrebbe funzionare ma ho problemi di riverniciatura –