In un pannello disegno i controlli come il pulsante/casella di testo posizionati a partire (0,0) nel pannello. Questi controlli sono invisibili e disabilitati all'inizio. Ho un pulsante all'esterno del pannello che rende visibili questi pulsanti/casella di testo quando vengono premuti e li posiziono in una nuova posizione nel pannello.dipingendo un pulsante nel pannello Winform mentre il pannello scorre.
Il problema è che se l'utente fa scorrere il pannello su alcuni (x, y) e quindi preme il pulsante "Rendi visibile", la nuova posizione (x, y) del pulsante viene calcolata dalla posizione corrente (x, y) del pannello - non dalla parte superiore (0,0) del pannello.
Mi chiedo se questo è il comportamento corretto del pannello e che per risolvere questo ho bisogno di considerare lo this.VerticalScroll.Value
come un (x, y) offset quando riposiziono i pulsanti.
È necessario utilizzare la proprietà AutoScrollPosition del pannello per regolare la posizione del pulsante. –
Le illustrazioni delle immagini potrebbero aiutare a mostrare il comportamento previsto e attuale. – Neolisk
ho una foto ma non sono riuscito a postarla ... ho bisogno di più reputazione su SO. @HansPassant Da MSDN AutoScrollPosition si presenta come ciò di cui avevo bisogno.myButton.Location = new Point ( 0 + panel1.AutoScrollPosition.X, 0 + panel1.AutoScrollPosition.Y); – Davvit