FormerBorderStyle in MDI

martedì 21 aprile 2009 - 08.48

sergio58 Profilo | Junior Member

Ragazzi , ciao a tutti,
Mi trovo con un form MDI padre con Formerborderstyle=sizable,Windowstate=maximized e un ToolStrip.I form figli hanno anche loro Wndowstate=maximized,oltre FormerBorderStyle=none e controlbox=false,maximizebox e minimixebox entrambi a false.
Ora ,quando apro un form figlio con :
Private Sub mnuRitenuteRicevute_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles mnuRitenuteRicevute.Click
ChiudiForm()
Dim Situazione As New frmElencoRitenute
Situazione.MdiParent = Me
Situazione.Show()
m_ChildFormNumber += 1
End Sub
Private Sub ChiudiForm()
For Each ChildForm As Form In Me.MdiChildren
ChildForm.Close()
Next
m_ChildFormNumber = 0
End Sub

mi accade che tra il toolstrip e il bordo della barra del titolo del form padre mi appare la barra del form figlio con il simbolo dell'icona sulla siistra e sulla destra le caselle per il ridimensionamento del form.
C'è un modo per evitare questo comportamento ,si può non visualizzare questa barra ?
ciao sergio

sanbiz Profilo | Senior Member

>Ora ,quando apro un form figlio
>mi accade che tra il toolstrip e il bordo della barra del titolo
>del form padre mi appare la barra del form figlio con il simbolo
>dell'icona sulla siistra e sulla destra le caselle per il ridimensionamento
>del form.
>C'è un modo per evitare questo comportamento ,si può non visualizzare
>questa barra ?
Le impostazioni Formerborderstyle non interessano il problema.
L'"anomalia" è data dal fatto che, quando ingrandisci una finestra mdiChild a tutto schermo, questa va ad occupare l'area della finestra MdiParent e tutti gli elementi che la compongono (barra del titolo, ControlBox, pulsanti di ridimensionamento ecc.) vanno a "fondersi" con quelli della finestra ospite.
Infatti la barra del titolo della finestra MdiParent conterrà anche la proprietà .Text della finestra mdiChild.
Per i vari pulsanti di ridimensinamento e per la ControlBox, la nuova posizione sarà all'interno della barra dei menù. (MenuStrip)
Se il MenuStrip non è presente la finestra va ad occupare comunque la zona interessata generando quel fastidioso effetto grafico.

>C'è un modo per evitare questo comportamento ,si può non visualizzare
>questa barra ?
Diciamo che la soluzione più semplice è quella di aggiungere un MenuStrip alla nostra applicazione con i menù necessari, proprio come in tutte le finestre Windows. Così facendo, avremo "riempito" la fastidiosa barra vuota ottenendo un comportamento più fluido e logico.
--
Sandro Bizioli
http://blogs.dotnethell.it/sandro/

sergio58 Profilo | Junior Member

grazie di avermi risposto,funziona ,purtroppo però il form figlio non riempie più tutto lo schermo, ma solo la parte della sua grandezza.
Ho saltato qualche passaggio ?
ciao sergio
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-2024
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5