PDA

View Full Version : [C#] Controllo TabControl


Fonzy9114
03-11-2011, 18:20
Salve, vorrei impostare lo sfondo ti tutte le pagine del tabcontrol trasparenti in modo da vedere l'immagine di sfondo del form, ma impostando la proprietà a trasparente per ogni pagina non riesco a vedere lo sfondo del form. Googleggiando un pò ho letto che bisogna disegnare manualmente il controllo, ho trovato vari codici, li ho provati ma nessuno soddisfa la mia richiesta. Spero che qualcuno di voi possa aiutarmi. Grazie per eventuali risposte.

PS= Impostando la stessa immagine di sfondo per ogni scheda, passando da una tab all'altra c'è un continuo sfarfallio.

Ho trovato questa discussione sul forum ma è saltato dal c# al wpf http://www.hwupgrade.it/forum/showthread.php?t=2129214&highlight=TabControl

Io vorrei riuscire a fare una cosa del genere:

http://img.photobucket.com/albums/v314/gugogugo/TransparentTab.jpg

gugoXX
04-11-2011, 01:47
Ho trovato questa discussione sul forum ma è saltato dal c# al wpf

Sempre di C# si tratta.

Fonzy9114
04-11-2011, 15:19
Sempre di C# si tratta.

e sai dirmi come applicarlo al codice?

gugoXX
05-11-2011, 00:48
Crei un nuovo progetto di tipo "WPF Application"
Tra i tanti ti trovi 1 file, Window.xaml
In questo file copi-incolli


<Window x:Class="WpfApplication3.Window1"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Title="Window1" Height="300" Width="300">
<Grid>
<Image Source="c:\temp\11035_200159327615_182936457615_3121250_7324477_n.jpg"></Image>
<TabControl Margin="0,0,0,39" Name="tabControl1" Background="Transparent" >
<TabItem Header="Primo">
</TabItem>
<TabItem Header="Secondo">
</TabItem>
</TabControl>
</Grid>
</Window>


Metti a posto il file immagine e puoi eseguire.

Fonzy9114
05-11-2011, 12:20
grazie mille funziona. Ma ora posso legarlo al progetto windows form?

gugoXX
05-11-2011, 19:59
grazie mille funziona. Ma ora posso legarlo al progetto windows form?

WPF e' l'evoluzione di Winform. con WPF puoi fare tutto quanto facevi con Winform, ma anche molto di piu'.
Devi semplicemente usare i controlli WPF e non piu' quelli Winform. Praticamente tutti gli standard sono presenti, ma e' anche molto semplice crearne di nuovi. Basta un po' di pratica.

Se pero' il problema e' prendere un progetto esistente Winform e trasformarlo in WPF, allora si tratta di fare una migrazione, non e' cosi' semplice.
Ma soprattutto non e' automatico.

s1m0_93
05-11-2011, 22:44
Se non ricordo male c'è anche un controllo creato apposta per inserire controlli WPF in un Windows Form.

cdimauro
06-11-2011, 07:57
Sempre di C# si tratta.
Ehm (http://www.ironpython.info/index.php/WPF_GUI_using_XamlReader). :D
WPF e' l'evoluzione di Winform. con WPF puoi fare tutto quanto facevi con Winform, ma anche molto di piu'.
Devi semplicemente usare i controlli WPF e non piu' quelli Winform. Praticamente tutti gli standard sono presenti, ma e' anche molto semplice crearne di nuovi. Basta un po' di pratica.
Purtroppo in WPF sento la mancanza di un sistema di reportistica "templatizzato".

Usando FlowDocument & compagnia non è proprio semplice, se non... per cose semplici.

Se hai bisogno di report più complessi (multiple master/slave, magari tenendo conto delle tabelle che vengono divise in più pagine e per le quali c'è da riportare l'intestazione) bisogna scrivere parecchio codice per riempire il documento, e soprattutto diventa un inferno perché bisogna realizzare un DocumentPaginator custom.

In tutta onestà mi manca la flessibilità dei RaveReports che ero abituato a usare in Delphi.

Per il resto, WPF tutta la vita. :cool:

Fonzy9114
06-11-2011, 08:53
Grazie a tutti per le risposte siete stati molto chiari.