Inspiegabile spostamento Panel

di il
4 risposte

Inspiegabile spostamento Panel

Ho un Panel in un Form. A IDE il Panel è posizionato con Panel1.Left = 0 e in NESSUNA parte del codice modifico in alcun modo .Left o .Location.

EPPURE al Form_Shown il Panel si sposta con left = -8. per controllare in Form_Load e Form_Shown ho messo una serie di:

Debug.Print("Panel1.left X: " & Panel1.Left.ToString)

per vedere quale misteriosa istruzione possa spostare il Panel1... l' Output:

Panel1.left A: 0
Panel1.left B: 0
Panel1.left C: 0
Panel1.left D: 0
Panel1.left E: 0
Panel1.left F: -8

NOTA: Panel1.left E: 0 è l' ultimissima istruzione del Load e Panel1.left F: -8 è la PRIMISSIMA istruzione dello Shown.

Provato con F11: tra Panel1.left E e Panel1.left F il programma non esegue nessuna altra istruzione.

Ora, potrei benissimo forzare in Form_Shown Panel1.Left= 0... ma mi interessa sapere il MISTERIOSISSIMO motivo per cui il Panel si sposta senza alcuna istruzione.

4 Risposte

  • Re: Inspiegabile spostamento Panel

    Controlla il valore della proprietà Anchor, AutoSize, Dock che alterano la posizione del controllo in modo automatico
  • Re: Inspiegabile spostamento Panel

    Il form e Sizable, ma solo in altezza (MaxSize X e MinSize X sono uguali)

    Il Panel è ancorato Top e Bottom, essendo il Form fisso in larghezza lateralmente non lo ho ancorato: non dovrebbe spostarsi.

    Autosize è False e Dock è False. Ho provato ad ancorarlo anche Left:

    Panel1.left A: 0
    Panel1.left B: 0
    Panel1.left C: 0
    Panel1.left D: 0
    Panel1.left E: 0
    Panel1.left F: -8

    Mi pare incredibile. Prima volta che mi succede qualcosa del genere in anni e anni.
  • Re: Inspiegabile spostamento Panel

    Potresti realizzare un mini-progetto da poter provare ??

    Prova ad impostare la proprietà Form.AutoScaleMode = None
  • Re: Inspiegabile spostamento Panel

    Purtroppo così è difficile capire il motivo, magari con un mini progetto sarebbe più facile (come detto da SirJo)

    Mi viene solo un dubbio: dici che imposti MinSizeX e MaxSizeX ad un valore fisso ed uguale, così da bloccare la dimensione orizzontale del panel.

    E' possibile che il valore di queste variabili sia superiore alla dimensione massima usabile? In quel caso è possibile che il sistema cerchi di centrare il tuo panel nello schermo, quindi spostandolo un po' a sinistra (valore negativo di X).
Devi accedere o registrarti per scrivere nel forum
4 risposte