Posts
103
Comments
238
Trackbacks
4
May 2006 Blog Posts
Segoe UI per VS2005

Ho letto in un commento di Giancarlo di qualche tempo fa un riferimento ad un carattere nuovo di Windows Vista. Provatelo per Visual Studio, è eccezionale.

http://en.wikipedia.org/wiki/Segoe_UI

Download

powered by IMHO 1.3

posted @ Thursday, May 18, 2006 1:48 PM | Feedback (5)
BusyBoxDotNet 0.2.1, Live Messenger e qualche link

BusyBoxDotNet

Finalmente ho trovato un po' di tempo e voglia per portare BusyBoxDotNet su ASP.NET 2.0. La retrocompatibilità ormai è compromessa perchè la build è fatta con VS2005, ma le features per il momento sono pressochè le stesse dell'ultima release.
Ringrazio un certo Damiano che tempo fa mi ha inviato uno snippet di codice per registrare automaticamente nel web.config l'HttpHandler per gestire le risorse durante il drag-and-drop dalla toolbox.

Tralaltro ho anche scoperto che BusyBoxDotNet è finito su MSDN Spagna: http://www.microsoft.com/spanish/msdn/epildoras/menu/080506/first.mspx

http://busybox.sourceforge.net

Live Messenger e Addins

Visto che è un argomento che ha suscitato un po' di interesse volevo riportare qualche novità e link per chi ancora non ne fosse al corrente.

Inoltre sta per uscire - fine maggio/inizio giugno - sulla sezione di MSDN un SDK dedicato all'estensibilità di Live Messenger... quindi, sottoscrivete la feed!

Threading

Non se ne sa mi abbastanza... http://www.albahari.com/threading/, gran bell'articolo.

Windows Media Player 11 Beta

E' disponibile al pubblico la beta della nuova versione qui.

[OT] Aboliamo i costi di ricarica dei telefonini

firmate la petizione!

powered by IMHO 1.3

posted @ Thursday, May 18, 2006 7:42 AM | Feedback (2)
La proprietà AssociatedControlID del web control Label

In ASP.NET 2.0 la Label espone una nuova proprietà, AssociatedControlID, che accetta l'ID di un altro controllo della pagina, ad esempio una TextBox o un altro controllo di input.
Quando questa proprietà viene valorizzata, il rendering della Label passa da un semplice tag <span> ad un tag <label>, in cui l'attributo for assume il valore dell'ID lato client del controllo associato.

Un esempio per chiarire

<asp:label ID="Label1" runat="server" Text="Etichetta" />
<asp:TextBox 
ID="TextBox1" runat="server" />

diventa:

<span id="Label1">Etichetta</span>
<
input name="TextBox1" id="TextBox1" type="Text" />

Mentre

<asp:label ID="Label1" AssociatedControlID="TextBox1" runat="server" Text="Etichetta" />
<asp:TextBox 
ID="TextBox1" runat="server" />

diventa:

<label for="TextBox1" id="Label1">Etichetta</span>
<
input name="TextBox1" id="TextBox1" type="Text" />

La differenza

La differenza avviene dal punto di vista dell'accessibilità. Valorizzando la proprietà AssociatedControlID il click sulla Label si estenderà al controllo associato. L'effetto visibile è, nel caso della TextBox, che il click sulla Label associata sposterà il focus all'interno della TextBox stessa.

powered by IMHO 1.3

posted @ Wednesday, May 17, 2006 12:36 PM | Feedback (0)
ScriptAculoUs Autocomplete WebControl

UPDATE: Gli aggiornamenti sono disponibili solo sul post in inglese.

ScriptAculoUs è una libreria JavaScript che fornisce numerosissime funzionalità per lo scripting lato client. Recentemente hanno aggiunto delle classi per creare utili controlli lato client, come il controllo Autocomplete, che sulla scia di almeno un migliaio di altri controlli simili permette di visualizzare una lista di scelte creata dinamicamente tramite un callback asincrono al server.

Tuttavia il fatto che questo controllo sia stato creato dal team di ScriptAculoUs è una garanzia notevole rispetto alle altre implementazioni, in almeno alcuni punti:

  • compatibilità cross-browser;
  • effetti visivi notevoli, come scrolling, fading...
  • continuo miglioramento nel tempo.

Per questo motivo ho creato un WebControl per ASP.NET 2.0 che ingloba queste funzionalità e ne aggiunge di nuove per ottenere un controllo utile, user-friendly e facilmente utilizzabile. E' in altre parole un wrapper per il controllo Javascript di ScriptAculoUs, che unisce i suoi vantaggi alla facilità di utilizzo dei WebControl di ASP.NET.

Come funziona e cosa può fare:

  • Recupera i risultati da un metodo della pagina; questo metodo è linkato al controllo tramite la sua proprietà MethodName; questo metodo deve essere pulblico, ritornare un oggetto che implementi l'interfaccia IEnumerable (qualsiasi Collection, o anche string[]) ed accettare come parametro di ingresso una stringa (i caratteri digitati nella TextBox).

    Esempio: public IEnumerable GetSuggestion(string key)
  • E' possibile scegliere il numero caratteri che è necessario digitare prima che il controllo effettui la richiesta asincrona al server tramite la proprietà MinimumChars;
  • E' possibile mostrare un'immagine animata a fianco della TextBox durante il recupero dei dati dal server. Diverse immagini sono già inserite come risorse dell'assembly, ed è possibile usarle utilizzando la proprietà AnimateImage;
  • E' disponibile un altro WebControl, chiamato AutocompleteProgress, che è molto simile all'UpdateProgress di ATLAS. Questo cotrollo è un TemplatedControl che visualizza il suo contenuto durante il recupero dei dati dal server e può essere posizionato in ogni parte della pagina. Non necessita di ulteriore configurazione;
  • E' possibile impostare lo stile della lista di risultati mediante le proprietà Suggestionxxxx e SelectedSuggestionxxxx.

Ho registrato anche uno screencast come quickstart per chi non fosse troppo pratico dell'argomento. Consiglio di guardare lo screencast a velocità doppia perchè è stato registrato su una macchina virtuale abbastanza lenta.

Il download dei binari è disponibile qui.
I sorgenti sono disponibili qui.
Lo screencast è disponibile qui.

powered by IMHO 1.3

posted @ Sunday, May 14, 2006 1:46 PM | Feedback (2)
Risorse interessanti per ASP.NET
  • ASP.NET Property Grid, un controllo web ASP.NET davvero cool.
  • NUnitASP, unit testing per ASP.NET.
  • RSSBus, interconnessione spinta!
  • YUI, è uscita la nuova versione della YAHOO! User Interface Library, assolutamente da vedere, ci sono un sacco di novità interessanti.
  • http://www.aspdotnet.sk, hosting gratuito per ASP.NET 2.0 con SQLE e dominio di 3° livello, accesso FTP, penso l'unico in assoluto al mondo - aspspider.net in confronto non offre il nome di dominio e nessun accesso FTP. Anche hosting a pagamento ma super-cheap! Nessun dettaglio sull'affidabilità ma provare non costa [quasi] niente.

powered by IMHO 1.3

posted @ Thursday, May 11, 2006 11:20 AM | Feedback (0)
La Legge di Murphy di .NET

Post originale: http://www.firoz.name/2006/05/07/murphys-laws-of-net/

  1. Sviluppando un'applicazione .NET, qualsiasi cosa succeda comportati come se l'avessi fatto di proposito.
  2. Quando arrivi finalmente a capire le nuove funzionalità di .NET probabilmente esse saranno già obsolete.
  3. Per ogni funzionalità di .NET, esiste un'uguale ed opposta mal-funzionalità.
  4. Ci sono almeno sei modi diversi per fare la stessa cosa in .NET, ed ogni volta ti renderai conto di aver scelto il modo sbagliato alla fine del progetto.
  5. Un programma .NET farà sempre quello che gli chiedi di fare, ma raramente quello _vuoi_ fare.
  6. Chi ride per ultimo probabilmente sta utilizzando un'architettura più semplice per sviluppare applicazioni .NET.
  7. Un'applicazione .NET complessa che non funziona è probabilmente il porting di un'applicazione VB 6.0 che funzionava benissimo.
  8. La causa principale di ogni problema in .NET è un'altra funzionalità di .NET.

Osservazioni:

2.  Niente di più vero. In ASP.NET, ad esempio, arriviamo ad ottenere la padronanza di Temi, Provider Model, Master Pages, Membership, Profiles, xxxDataSources, compilation model & co. e siamo già a .NET 3.0.
4.  Un esempio? Threading!

powered by IMHO 1.3

posted @ Sunday, May 7, 2006 10:26 PM | Feedback (1)
News

Scopri CS2, il mio progetto universitario per l'indicizzazione e la ricerca di codice sorgente personale costruito su Lucene.Net.

Windows Developer Power Tools

Potete trovare il mio progetto BusyBoxDotNet nel libro Windows Developer Power Tools, pubblicato da O'Reilly, per il quale ho scritto l'intero capito dedicato.

Sono stato nominato dVP 2008, un riconoscimento per l'apporto fornito alla comunità del progetto db4o.