Ho un modulo che deve essere massimizzato in VB.net. Non voglio che l'utente possa modificarne le dimensioni o spostarlo. Come posso fare questo?Come impedire che un modulo venga ridimensionato dall'utente?
risposta
Impostare le proprietà evidenziate. Set MaximimSize e MinimizeSize proprietà della stessa dimensione
per impedire agli utenti di ridimensionare, impostare il FormBoderStyle a Fixed3D o FixedDialog dalla finestra delle proprietà o dal codice
frmYour.BorderStyle = System.WinForms.FormBorderStyle.Fixed3D
e impostare la proprietà WindowState a Ingrandita, impostare le proprietà MaximizeBox e MinimizeBox false.
per impedire all'utente di muoversi, ignorare WndProc
Protected Overrides Sub WndProc(ByRef m As Message)
Const WM_NCLBUTTONDOWN As Integer = 161
Const WM_SYSCOMMAND As Integer = 274
Const HTCAPTION As Integer = 2
Const SC_MOVE As Integer = 61456
If (m.Msg = WM_SYSCOMMAND) And (m.WParam.ToInt32() = SC_MOVE) Then
Return
End If
If (m.Msg = WM_NCLBUTTONDOWN) And (m.WParam.ToInt32() = HTCAPTION) Then
Return
End If
MyBase.WndProc(m)
End Sub
wow qual è il significato di tutti questi numeri interi? –
costanti per il passaggio a Windows API - ogni numero intero rappresenta un comando di messaggio di Windows e il parametro corrispondente – amazedsaint
Questo funziona meglio, impedisce all'utente di trascinare il modulo su un altro monitor (un problema che ho, non sono sicuro se è win 8 o multiplo monitor che causano questo). Mucky (non colpa dei rispondenti), ma la risposta è corretta. –
È possibile rimuovere l'interfaccia utente per controllare questo con:
frmYour.MinimizeBox = False
frmYour.MaximizeBox = False
Impostare lo stile di inizio finestra massimizzata. Quindi, nascondi i pulsanti minimizza e massimizza.
//Set fixed border
yourForm.FormBorderStyle = System.Windows.Forms.FormBorderStyle.Fixed3D
//Set the state of your form to maximized
yourForm.WindowState = FormWindowState.Maximized
//Disable the minimize box and the maximize box
yourForm.MinimizeBox = False
yourForm.MaximizeBox = False
Impostare le dimensioni min e max del modulo sugli stessi numeri. Non mostrare i pulsanti min e max.
Come detto in precedenza da @LarsTech, in questo scenario è ancora possibile tirare e ridimensionare il modulo in modo che questa non sia la risposta completa, forse parte di essa ma non impedirebbe il problema nel suo insieme –
Aggiungere codice all'evento Form Load:
me.maximumsize = new size(Width, Height)
me.minimumsize = me.maximumsize
me.maximizebox = false
me.minimizebox = false
Esempio: Per un'altezza Forma e larghezza di 50 pixel ciascuno:
me.maximumsize = new size(50, 50)
me.minimumsize = me.maximumsize
me.maximizebox = false
me.minimizebox = false
Si noti che l'impostazione maximumsize
e minimumsize
to t le stesse dimensioni mostrate qui impediscono il ridimensionamento del modulo.
C'è un'opzione in vb.net che ti permette di fare tutto questo.
L'utente non sarà in grado di ridimensionare la forma o spostarlo, anche se ci sono altri modi, questo credo sia il migliore.
La proprietà bloccata è "tempo di progettazione" -solo! –
Basta modificare queste impostazioni in Solution Explorer.
MaximizeBox = False
MinimizeBox = False
Le altre cose come ControlBox, Locked e FormBorderStyle sono extra.
'Le altre cose come ControlBox, Locked e FormBorderStyle sono extra. Se FormBorderStyle non è impostato su uno stile di tipo Fisso o Nessuno, l'utente può ridimensionare il modulo. – LarsTech
- 1. Come impedire che UIView venga ridimensionato per adattarsi all'altezza ScrollView (autoresizing disabilitato)?
- 2. Impedire modulo venga presentata due volte
- 3. Come impedire che la stringa venga internata
- 4. Impedire che ng-submit venga richiamato per un modulo non valido
- 5. Impedire che un servizio Android venga distrutto dopo uno smantellamento
- 6. Impedire che un processo venga ucciso in C#?
- 7. Impedire che NA venga utilizzato in un lm regresion
- 8. Come posizionare un modulo prima che venga visualizzato?
- 9. WP7 + HTML5 - Come impedire che una tela venga selezionata/evidenziata
- 10. Come posso impedire che una finestra di dialogo venga nascosta
- 11. fixture modulo nose-doctest prima che il modulo venga importato
- 12. È possibile impedire che uno specifico datamember venga deserializzato?
- 13. impedire che window.onload venga sottoposto a override javascript
- 14. Posso impedire che l'oggetto venga copiato da std :: memcpy?
- 15. Come impedire che un blocco di codice venga interrotto da KeyboardInterrupt in Python?
- 16. Come creare uno sfondo affiancato basato su immagine per UIView in modo che non venga ridimensionato?
- 17. Come posso impedire che gli elementi div floated si avvolgano quando il browser viene ridimensionato?
- 18. Come ridimensionare automaticamente la griglia quando il modulo viene ridimensionato?
- 19. Richiesta AJAX prima che venga inviato il modulo normale
- 20. Esiste un modo per impedire che una "parola chiave" venga sintattica in MS Visual Studio
- 21. Come posso adattare i controlli sul modulo ridimensionato
- 22. Impedire che il metodo in Grails Controller venga esposto come azione
- 23. Come impedire che l'output HTML da PHP venga visualizzato nel browser?
- 24. Come impedire che una chiamata di sistema venga eseguita con ptrace
- 25. Come impedire che venga disegnato il bordo blu predefinito su QLineEdit focus
- 26. Come impedire che una classe astratta con classi derivate pubbliche venga ereditata in altri assembly?
- 27. Come far sì che un modulo venga inviato automaticamente al caricamento della pagina in JavaScript?
- 28. Come forzare lo stato attivo su un componente prima che venga mostrato il modulo
- 29. Come impedire che una modale venga disegnata più di una volta?
- 30. Come impedire che il servizio associato venga distrutto mentre il runtime di Activity cambia (es: orientamento)
@Powerlord Come fai a sapere che non si tratta di una sorta di giocatore di cinema o gioco in cui si desidera * ogni pixel? –
Microsoft fornisce un esempio completo come parte della documentazione per [Proprietà Form.FormBorderStyle] (http://msdn.microsoft.com/en-us/library/system.windows.forms.form.formborderstyle%28v=vs.110 % 29.aspx). – DavidRR