C# schönere schreibweise

Durch Resharper wurde ich auf folgende schreibweise aufmerksam:

            this.tsSchwarzWeißBild = new ToolStripMenuItem
                                         {
                                             Name = "tsSchwarzWeißBild",
                                             ShortcutKeys = (Keys.Alt | Keys.W),
                                             Size = new System.Drawing.Size(226, 22),
                                             Text = "Schwarz-&Weiß-Bild"
                                         };
            this.tsSchwarzWeißBild.Click += this.optionSchwarzWeissBild;

Besser lesbarer als meine „alte“ schreibweise:

            this.tsSchwarWeißBild = new ToolStripMenuItem();
            this.tsSchwarzWeißBild.Name = "tsSchwarzWeißBild";
            this.tsSchwarzWeißBild.ShortcutKeys = Keys.Alt | Keys.W;
            this.tsSchwarzWeißBild.Size = new System.Drawing.Size(226, 22);
            this.tsSchwarzWeißBild.Text = "Schwarz-&Weiß-Bild";
            this.tsSchwarzWeißBild.Click += this.optionSchwarzWeissBild;

Resharper

So, letzte Woche die WPF Schulung hinter mir gebracht. War sehr interessant, wenn auch sehr viel Input, da es eigentlich ein 3-Tage Kurs ist, er aber Aufgrund von zeitlichen Problemen auf 2 Tage gekürzt werden musste.
Also WPF betrachte ich jetzt mit anderen Augen, bin zwar noch nicht vollkommen überzeugt, stehe dem aber offener gegenüber. Und wenn Microsoft sich nicht ganz doof anstellt und das arbeiten mit WPF unter Visual Studio 2010 noch vereinfachter (z.B. ein schönere Intellisenseunterstützung), dann könnt das definitiv was werden.

Durch den Referendar Mathias Raacke (meiner Meinung nach ein sehr fähiger Referendar, sehr zu empfehlen und immer wieder gerne) bin ich auf Resharper gestoßen. Ich bin zwar schon vorher mal drüber gestolpert, aber der Preis hatte mich doch etwas abgeschreckt. Es bietet echte Vorteile und ist voll konfigurierbar. Ein absolutes Muss für jede VS Umgebung! Auf der Seite gibt es eine 30 Tage Testversion!

Ach ja nebenbei hab ich mal meinen Texteditor rausgeholt und mal wieder ein bischen PHP gemacht. Meine Idee nimmt langsam Formen an. Ach ja und Smarty (PHP Template Engine) ist gar nicht mal so schlecht, wie ich gut 5 Jahre gedacht habe. Manchmal ist dieser Drang, immer das Rad neu zu erfinden, nur um nicht auf Third-Party-Products zurückzugreifen, echt nervig!
(Würde ich auch gerne mal einem Kollegen klar machen!)

Position des Aktiven Fensters bekommen

        #region Position des aktiven Fensters bekommen
        
        /// <summary>
        /// Struktur um die Daten der WindowsAPI zu verarbeiten
        /// </summary>
        public struct RECT
        {
            public int left;
            public int top;
            public int right;
            public int bottom;
        }

        /// <summary>
        /// Import um das Handle des aktiven Fensters zu bekommen.
        /// </summary>
        /// <returns>Handle des aktiven Fensters</returns>
        [DllImport("user32.dll")]
        private static extern int GetForegroundWindow();

        /// <summary>
        /// Position sowie Höhe und Breite des gewollten Fenster bekommen.
        /// </summary>
        /// <param name="hWnd"></param>
        /// <param name="rect"></param>
        /// <returns></returns>
        [DllImport("user32.dll")]
        private static extern bool GetWindowRect(int hWnd, ref RECT rect);
        

        /// <summary>
        /// Daten bekommen
        /// </summary>
        /// <returns>RECT mit den Daten</returns>
        private RECT GetActiveWindowPosition()
        {
            int handle = GetForegroundWindow(); 
            RECT rct = new RECT();
            GetWindowRect(handle, ref rct);

            return rct;
        }
        RECT daten = GetActiveWindowPosition();

In der Struktur daten stehen dann die Abgrenzungen. Evtl. solltet ihr eine Prüfung machen, ob ob die Werte noch im bichtbaren Bereich liegen, z.B. verschiebt man ein Fenster nach Links über den Bildrand, so bekommt man einen negativen Wert!