So kann man einer Form im Compact Framework ein Hintergrundbild zuweisen:
protected override void OnPaintBackground(PaintEventArgs e)
{
base.OnPaintBackground(e);
Bitmap background = new Bitmap(Path.GetDirectoryName(Assembly.GetExecutingAssembly().GetModules()[0].FullyQualifiedName) + "\\about_background.jpg");
e.Graphics.DrawImage(background, 0, 0);
}
Wie man das Bild aus einer eingebetteten Ressource lädt hab ich noch nicht rausbekommen ...
Wer auf der Suche nach Wörterbüchern für OpenOffice.org ist, die aus Lizenzgründen beim Download nicht direkt mitgeliefert werden, der wird hier fündig:
http://de.openoffice.org/spellcheck/about-spellcheck.html
Einfach DicOOo anklicken und direkt mit OpenOffice.org öffnen (Makros erlauben) - der Rest ist per Assistent selbsterklärend. ...
Tja, da war ich wohl etwas zu voreilig mit meiner Behauptung, dass der SQL Server 2005 Mobile in Sachen Geschwindigkeit mit SQLite nicht mithalten kann.
Ilya Tumanov, seines Zeichens Microsoft-Support-Mitarbeiter, hat mir eine Testanwendung zur Verfügung gestellt, mit der man diverse Abfragen gegen die Northwind.sdf fahren kann. Und das geht ab wie ein Schnitzel. Werde mich dann jetzt wohl auf die mühsame Suche nach dem Flaschenhals machen müssen.
Hier übrigens die Test-Applikation, viel Spaß ...
Ich habe mich in letzter Zeit ein wenig mit SQLite beschäftigt. Wie bereits vor einigen Tagen geschrieben, ist die Datenbank absolut performant - wobei ich gerade dabei bin mit dem SQL Server Mobile hoffentlich in ähnliche Geschwindigkeits-Dimensionen vorzustoßen, mehr demnächst - aber sie hat, wie sich herausgestellt hat, einen großen Nachteil: es gibt per default keine Möglichkeit die darin gespeicherten Daten abzusichern, da sich kein Passwort setzen lässt.
Die erste überlegung, die ...
Das Dock von OS X ist cool, keine Frage. Aber auch die Windows Taskleiste hat einiges zu bieten und lässt sich ziemlich umfangreich den eigenen Bedürfnissen anpassen, und das bereits seit Windows 2000.
So kann man zum Beispiel via Rechtsklick > Symbolleisten > Neue Symbolleiste einen beliebigen Ordner auswählen, dessen Inhalt dann in der Taskleiste dargestellt wird.
Aber es geht noch einfacher:
Ordner erstellen und so benennen, wie nachher die Bezeichnung in der Taskleiste sein ...
Das sind Probleme, wie man sie aus der ASP.NET Welt her nicht kennt (ein Glück, sonst wäre der Einstieg wahrscheinlich noch schwerer als er so schon ist):
Befüllt man eine Combobox beim Initialisieren seines Forms, und ist für diese Combobox ein Event Handler registriert, der beim Ändern des gewählten Items ausschlägt, dann kommt man mit unter in arge Nöte: nämlich dann, wenn der Handler eine Methode aufruft, die die Box ebenfalls (wieder) befüllt.
Denn dieser Vorgang hier:
DataSet ds = new ...
... ist gar nicht so einfach wie gedacht. Auf einem 2003er Device läuft es alles problemlos, wenn man es über Visual Studio deployed. Hat man aber einen PDA mit Windows Mobile 5, dann funktioniert es nicht - egal ob man als Client Target Pocket PC 2003 oder Windows CE 5.0 auswählt.
In meinem Fall war er dann beim Start der Applikation ständig auf der Suche nach einer gewissen "sqlceme30.dll", die eigentich mit installiert wurde.
Die Lösung ist mehr oder weniger hier beschrieben:
Als erstes ...
Eine wirklich sehr coole Sache:
public partial class Test : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
#if DEBUG
Response.Write("DEBUG is defined ");
#else
Response.Write("DEBUG is not defined ");
#endif
}
}
Damit kann man natürlich noch mehr machen, etwa alle Sachen die zum debuggen nur hinderlich, im Livebetrieb aber notwendig sind, ausschalten, und sich so das Leben erheblich erleichtern.
Ausführliche ...
Ich bin heute etwas stutzig geworden, als ich etwas - ich weiß leider nicht mehr den genauen Such-String - über die in Firefox integrierte Googlesuche gesucht habe, denn die Suche ergab keine Treffer.
Spaßeshalber habe ich, mich an Andreas erinnernd, mal bei MSN gesucht - mit Erfolg. Die Suche dort ergab mehrere tausend Ergebnisse. Ich war fast schon im Begriff ihm dieses Kuriosum als Kommentar zu hinterlassen - der Gedanke "das gibt's doch gar nicht" war dann aber doch stärker. Also bin ich ...
Hui ... ich habe einfach mal meine Anwendung so genommen wie sie war und alles auf SQLite umgestellt. Ergebnis: das Ganze läuft nun gefühlt 1 Million x schneller als mit SQL Server 2005 Mobile, und ist plötzlich richtig benutzbar! :-D
Jetzt muss ich nur noch schauen, ob ich der Datenbank irgendwie ein Passwort verpassen kann ... ...