Dopo aver letto i post di Lorenzo Simone e Alessandro ed i commenti agli stessi, ho deciso di esternare il mio pensiero sull'utilizzo del Blog. Personalmente ho sempre interpretato il blog come un'area personale, che il proprietario amministra come meglio crede, cercando di restare nei limiti della decenza e del saper vivere con gli altri. Per me il blog ha un significato di libertà. Libertà significa potersi esprimere senza remore ed accettare anche gli eventuali commenti, come si usa fare in un dialogo civile. Anche io trovo spesso molti post che non mi interessano o che reputo superflui, e proprio...
Come ho già riportato in un precedente post, sono un vero entusiasta della libreria DockPanel Suite di Weifen Luo. Visto che la utilizzo nei miei progetti WinForm, ho sentito la necessità di costruirmi un tool per la generazione/modifica dei file di layout XML che questa libreria può caricare a run time, risparmiandoci così un pò di codice di inizializzazione. Se vi interessa questo piccolo tool, lo potete trovare sul mio sito oppure direttamente qui. Invito tutti gli interessati a postare commenti e/o migliorie da apportare al programma.
..ma comunque, secondo CNNMoney, a noi Software Engineers e IT Analyst, in futuro dovrebbe andare sempre meglio. Il nostro è il miglior lavoro che si può fare ... se non ci credete, leggete qui. Hanno redatto la lista dei 50 migliori mestieri...e il software engineer è in testa... Che siano dati validi solo per l'America?? Ai posteri l'ardua sentenza!
Nel progetto sul quale sto lavorando, si rende necessaria una "preview" di una serie di pagine asp.net generate dinamicamente. Visto che la directory di generazione è libera e non voglio assolutamente sporcarmi le mani con IIS, ho trovato un modo per far partire ASP.net Development Server in modo autonomo.
Il file eseguibile da lanciare è WebDev.WebServer.Exe, che si può trovare nella directory C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727.
Questo file eseguibile può essere lanciato con tre parametri:
path: rappresenta il percorso fisico dove si trova l'applicazione
port: la porta sulla quale si metterà in ascolto il server
vpath: la "virtual directory" da utilizzare per individuare l'applicazione
Un esempio di comando può...
Lavorando su WinForms, ho cercato di creare una treeview che mi permettesse di disegnare a piacimento i nodi, le icone ed il testo. Con le "nuove" Windows Forms, è stato esposto l'evento DrawNode e DrawItem dei controlli TreeView e ListView, per cui è possibile gestire in modo autonomo il disegno dei nodi . Facendo l'overrides del metodo OnDrawNode, quindi, mi sono creato una treeview che imita il comportamento della toolbox di Visual Studio. Il codice per l'overrides è riportato qui sotto. Protected Overrides Sub OnDrawNode(ByVal e As System.Windows.Forms.DrawTreeNodeEventArgs) 'Clear Background e.Graphics.FillRectangle(SystemBrushes.Control, e.Bounds) Dim _rect As Rectangle = Rectangle.Inflate(e.Bounds, -1, -1) If e.Bounds.Width > 0 AndAlso e.Bounds.Height > 0 Then If e.Node.Parent Is Nothing Then Dim _boldFont As New Font(Me.Font, FontStyle.Bold) If e.Node.IsSelected Then 'Selected Root node Dim _backGroundBrush As New SolidBrush(Color.FromArgb(255, 225, 230, 232)) e.Graphics.FillRectangle(_backGroundBrush, _rect) Dim _borderPen As Pen = New Pen(Color.FromArgb(255, 49, 106, 194)) e.Graphics.DrawRectangle(_borderPen, _rect) _backGroundBrush.Dispose() _borderPen.Dispose() Else 'Standard Root Node Dim _gradientBrush As New Drawing2D.LinearGradientBrush(_rect, Color.FromArgb(255, 221, 220, 203), Color.FromArgb(255, 196, 193, 176), Drawing2D.LinearGradientMode.Vertical) e.Graphics.FillRectangle(_gradientBrush, _rect) _gradientBrush.Dispose() End If e.Graphics.DrawString(e.Node.Text, _boldFont, Brushes.Black, e.Bounds.X + e.Node.TreeView.Indent, e.Bounds.Y + 2) If e.Node.IsExpanded Then e.Graphics.DrawImage(My.Resources.Minus, e.Bounds.X + 7, e.Bounds.Y + 4, 9, 9) Else e.Graphics.DrawImage(My.Resources.Plus, e.Bounds.X + 7, e.Bounds.Y + 4, 9, 9) End If Else If Not e.Node.TreeView.ImageList Is Nothing Then Dim _image As Image = e.Node.TreeView.ImageList.Images(e.Node.ImageIndex) If Not _image Is Nothing Then e.Graphics.DrawImage(_image, e.Bounds.X + 9, e.Bounds.Y + 1, 16, 16) End If End If e.Graphics.DrawString(e.Node.Text, Me.Font, Brushes.Black, e.Bounds.X + e.Node.TreeView.Indent + 7, e.Bounds.Y + 2) End If End If End SubAttenzione!! Dovete creare una vostra treeview, ereditando dal controllo TreeView ed impostare il DrawMode a OwnerDrawAll. Considerando che è possibile far...
In questo periodo sto lavorando su un progetto che necessita di un'applicazione WinForm, la quale funga da Tool di configurazione. Cercando per la rete un componente che permetta il docking delle finestre, in stile Visual Studio, mi sono imbattuto in vari componenti, peraltro tutti molto ben realizzati, ma ahimè, tutti a pagamento. Poi ho trovato la DockPanel Suite di Weifen Luo... che dire? Il componente è realizzato bene, c'è il codice sorgente, e fa esattamente ciò che promette, con in più anche gli help per il docking, in stile VS2005. Complimenti a Weifen!!!Lo potete trovare qui.