[Vb.Net] Form centrata e sfondo full screen

lunedì 23 luglio 2012 - 16.13
Tag Elenco Tags  VB.NET  |  .NET 2.0  |  Visual Studio 2010

Fractals Profilo | Newbie

Ciao a tutti,

Sto un po impazzendo su una cosa dato che non riesco a ottenere il risultato che mi aspetto e non so perchè.
Ho creato la mia piccola applicazione con diverse form..
Ora vorrei provare a centrare la form all'interno dello schermo mantenendo dietro uno sfondo nero full screen.
Ho provato a settare le proprietà "Start Position" a Center Screen e giustamente me la centra....
Pero provando a settare la "Windows state " a maximized me la mette full screen ma è come se estendesse la form e di conseguenza tutte le mie label risultano spostate in alto a sinistra...
Come posso ottenere il risultato desisdetato?

Grazie mille a tutti quelli che mi aiuteranno

Vinsent Profilo | Senior Member

La posizione dei controlli fa riferimento ai margini alto/sinistro del contenitore, nel tuo caso è la form e se la ridimensioni i controlli si adeguano rispettando tale posizione.
Con:
>"Windows state " a maximized
ridimensioni la form per riempire il monitor...ovviamente rimangono visibili la barra di Windows e i bordi della form.
L' unico modo per fare quello che chiedi per come lo inteso e per quel che so e senza troppi sbattimenti....e di inserire i tuoi controlli (label, pulsanti, ecc..) in un panel che ha sua volta sta dentro un panel...è un pò contorto ...ma non so come "aggiustare" la dimensione del form per ottenere il centro "perfetto"...
Quindi:
Panel1 deve contenere Panel2, Panel2 deve contenere i tuoi controlli
Panel1 deve avere la proprità 'Dock = Fill' in modo da riempire il form
il resto è solo qualche calcolo...vedi l' esempio sotto:
Private Function sposta(x As Integer, y As Integer) x = System.Math.Round((x / 2) - (Panel2.Width / 2)) y = System.Math.Round((y / 2) - (Panel2.Height / 2)) Return New Point(x, y) End Function Private Sub Form1_Resize() Handles MyBase.Resize Panel2.Location = sposta(Panel1.Width, Panel1.Height) End Sub

ciao

Fractals Profilo | Newbie

Ciao,
Scusa se ti rispondo adesso ma ho fatto innumerevo prove....
Non ho capito come poter inserire degli elementi dentro il pannel ma sono riuscito a fare un'altra cosa....
Ho creato una form con windows state maximized con sfondo nero....
Le altre form hanno la proprietà StartPosition a center e il topmost a true, in modo da averle sempre in primo piano rispetto alla form.....
Oddio funzionare funziona il risultato lo ottengo... pero bo... mi sembra un po campato per aria

Vinsent Profilo | Senior Member

>Non ho capito come poter inserire degli elementi dentro il pannel
basta che con il mouse li trascini all' interno del panel...

>ma sono riuscito a fare un'altra cosa....
>Ho creato una form con windows state maximized con sfondo nero....
>Le altre form hanno la proprietà StartPosition a center e il
>topmost a true, in modo da averle sempre in primo piano rispetto
>alla form.....
>Oddio funzionare funziona il risultato lo ottengo... pero bo...
>mi sembra un po campato per aria
Per fare questo puoi usare un form MDI...

Prova a dare un' occhiata al progetto in allegato, ho fatto un mix....vedi se può esserti utile come esempio.
ciao
Partecipa anche tu! Registrati!
Hai bisogno di aiuto ?
Perchè non ti registri subito?

Dopo esserti registrato potrai chiedere
aiuto sul nostro Forum oppure aiutare gli altri

Consulta le Stanze disponibili.

Registrati ora !
Copyright © dotNetHell.it 2002-2017
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5