PDA

View Full Version : [VB] Apertura di un secondo Form in posizione relativa al pr


race2
03-05-2002, 23:49
Ho un form di "800x600 Px" sviluppato con il "Visual Studio .NET", che si apre al centro del monitor, vorrei aprire un secondo Form nel solito progetto, ma in una posizione relativa al primo, cooe':
lo vorrei aprire allineato al primo Form con la base inferiore e dato che il secondo e' 790x500, vorrei che fosse contenuto sempre in centro al piu' grande, cioe' al primo, chiaramente l'unica parte che non sara' allineata e' il "Top", che sara inferiore di 100Px, si puo' fare ???

Io ho visto solo 5 tipi di allineamento:
1) Manual
2) CenterScreen
3) WindowsDefaultLocation
4) WindowsDefaultBounds
5) CenterParent

ma questi non sono relativi al primo form, ma bensi al monitor.

cavay
04-05-2002, 02:57
scusa ma..potresti spiegarti meglio??
hai due form uno + grande dell'altro e....vorresti che il secondo assuma le stesse dimensioni e posizioni del secondo?

race2
04-05-2002, 08:21
Ho il "Form1.vb" di 800x600 e ho il "Form2.vb" di 790x500 lo voglio allineato alla base con uno scalino di 20Px ai lati con uno scalino di 5Px per lato e in alto con uno scalino di 80Px,
risultato un form piccolo inquadrato all'interno di uno piu' grande, ma con posizioni relative decise da me come ho appena fatto, in maniera che se io ingrandisco il form con il pulsante "ingrandisci" nel form stesso, il form piu' piccolo rimane allineato alla base con scalino di 20Px.

Vedi allegato...!!!

cionci
04-05-2002, 10:53
Il form dovrebbe avere un metodo chiamato SetWindowPlacement
o qualcosa del genere... Con questo lo puoi spostare dove ti pare a te...

race2
04-05-2002, 12:03
Originariamente inviato da cionci
[B]Il form dovrebbe avere un metodo chiamato SetWindowPlacement
o qualcosa del genere... Con questo lo puoi spostare dove ti pare a te...

Non lo trovo ho solo quello che ho detto sopra e "Location" ma e' relativa al monitor non la form principale, io voglio che il form secondario si apra al centro del primo, sia dove sia....

PS. il mio e' "Visual Studio .NET" non "Visual Studio 6", forse e' per questo che non trovo il comando???

cionci
04-05-2002, 12:20
Ma farti 2 calcoli in base alla Location dell'altro form ?

Setti Location del secondo form alla Location del primo + qualcosa...

tas
04-05-2002, 13:27
Ma scusa, non ti è venuto in mente che puoi usare un form MDI?

Crei due form: Form1 e Form2

A Form1 imposti la proprietà IsMdiContainer su True;

In fase di runtime, in un evento di Form1 crei una finestra figlia:


Private Sub MenuItem2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MenuItem2.Click
Dim f As New Form2()

f.MdiParent = Me
f.Show()
End Sub


ed il gioco è fatto!!!

race2
04-05-2002, 15:02
Sei grande!!!
non mi e' venuto in mente perche non ho studiato abbestanza i "WindowsForm", mi sono interessato di piu' ai Database, grazie, ciao.

race2
04-05-2002, 15:09
Scusa ti volevo chiedere ancora una cosa, mi puoi vedere l'allegato che ho inserito in questo treand,

vorrei fare le "ComboBox()" con uno stile uguale alle "TextBox()" che vedrai nell'allegato e cioe' in modalita' "FixedSingle", e' che per le "ComboBox()" non esiste il comando, cosa metto per appiattirle in modo da similare "2D" invece che "3D" ???