Problema con la progettazione e la struttura dati

lunedì 03 marzo 2008 - 11.43

DrGonzo Profilo | Newbie

Il mio problema è semplice...e penso che sarà semplice anche la soluzione, purtroppo sto all'inizio con .net. Allora sto scrivendo un'applicazione win Form. Adesso dentro la mia form principale sto disegnando vari panel che si devono visualizzare e non visualizzare in base ai pulsanti che vengono premuti. Il problema è semplice. Immaginate di avere un Panel A grosso abbastanza da poter contenere un Panel B più piccolo. Adesso se premo il pulsante A verrà visualizzato il Panel A e viene nascosto il Panel B, viceversa se premo il pulsante B.

Il problema sta nel fatto che se il Panel B lo sposto (parlo di progettazione visuale, non di codice scritto a mano) dentro al Panel A, perchè lì dovrebbe visualizzarsi il Panel B, Visual Studio in automatico mi rende il Panel B sotto componente di Panel A, mentre io li voglio mantenere comunque distinti.

Con NetBeans non avevo questi problemi, lì se volevi basta che nella struttura dati dei vari pannelli e pulsanti spostavi un componente nella gerarchia e lì rimaneva. Non si rifaceva agli spostamenti fatti nel disegno della finestra ma a quello che il programmatore diceva nella struttura.

Spero mi possiate aiutare...sto impazzendo.

Grazie mille

P.S:. per qualsiasi delucidazione chiedeteeeeeeeeeeeeee

aiedail92 Profilo | Expert

Ciao

Il metodo che ti consiglio io consiste nel muovere il panel con le freccette direzionali: lo selezioni quando è ancora fuori dall'altro, quindi lo sposti con le freccie fino a posizionarlo dove ti serve.

Altrimenti basta impostare, quando è all'esterno del secondo panel, la proprietà loacation allo stesso punto della location dell'altro.

Luca

DrGonzo Profilo | Newbie

Grazie...la tua soluzione è buona per tappare temporaneamente questo dilemma. Spero però che prima o poi qualcuno riesce a dare una risposta definitiva. Perchè come dici di fare tu in effetti è una valida alternativa ma non una soluzione, perchè così facendo comunque ti ritrovi a non sfruttare gli allineamenti utili di visual studio, rallenti moltissimo il lavoro, e poi infine (come nel mio caso), se hai una miriade di panel da gestire diventa un casino. Anche perchè se l'hai notato, questo dramma succede pure se nella struttura dati sposti un controllo in basso, lui in automatico lo aggiunge come sotto controllo del controllo a cui segue.

Es:. immagina che hai Panel A, Panel B, Panel C uno di seguito all'altro nella struttura dati. Prova nella struttura dati a spostare Panel A sotto Panel B (così da poter per logica vedere cosa c'è in Panel B, per portarlo in primo piano). Panel A magicamente è diventato sottocontrollo di Panel B (almeno questo mi succede se Panel B è più grande di Panel A...in altri casi non ho provato). Quindi per portare Panel B in primo piano, è preferibile spostare Panel B in alto e non Panel A in basso.

Guarda è un dramma...

Comunque grazie mille per l'ottima alternativa...aspettando soluzione

P.S:. appena ho finito di scrivere questo messaggio ho provato. Se vuoi portare un pannello in primo piano in struttura dati devi portarlo sopra tutto, altrimenti diventa sotto pannello di un altro pannello, anche se l'altro pannello è più piccolo. Adesso ho modificato il messaggio per farlo sapere

aiedail92 Profilo | Expert

Per spostare un controllo in basso dalla Struttora Documento, se usi il mouse, fa quel lavoro lì, se invece usi le freccie in alto e in basso (quelle nere subito sotto il titolo della finestra) il controllo viene spostato su o giù, non all'interno del controllo; alternativamente puoi usare il bottone Porta in primo piano o Porta in secondo della barra degli strumenti layout.

Comunque il problema di fondo resta...

Luca
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