Mehrere Excel-Hauptfenster

Schon des Öfteren wäre es mir ein Anliegen gewesen, zwei oder mehr Excel-Dokumente nebeneinander in zwei getrennten Hauptfenstern (z.B. auf zwei Monitoren) anzuzeigen.

Obwohl ich Excel 2010 besitze, habe ich keine Option gefunden. (In Excel 2013 scheint das der Standard zu sein)

Workaround/Lösung

Es gibt zwar Zusatztools und -Programme, doch an die erinnere ich mich selbst nach der Installation nach kurzer Zeit nicht mehr.

Stattdessen ist die für mich einfachste Lösung schlicht mehrere Instanzen von Excel zu starten (einfach im Startmenü mehrfach das Excel-Symbol anklicken oder Start > Ausführen > „excel“) und dann jeweils in einer Instanz explizit ein Dokument laden.

Handling WM_MOVING in Windows Forms

Just a quick snippet:

public class FormWithWmMoving :
    Form
{
    private const int WM_MOVING = 0x0216;

    private static readonly object EVENT_MOVING = new object();

    public event EventHandler Moving
    {
        add { Events.AddHandler(EVENT_MOVING, value); }
        remove { Events.RemoveHandler(EVENT_MOVING, value); }
    }

    public class MovingEventArgs : EventArgs
    {
        private readonly Rectangle _rectangle;

        public MovingEventArgs(
            Rectangle rectangle)
        {
            _rectangle = rectangle;
        }

        public Rectangle Rectangle
        {
            get { return _rectangle; }
        }
    }

    protected virtual void OnMoving(MovingEventArgs e)
    {
        var h = (EventHandler)Events[EVENT_MOVING];
        if (h != null)
        {
            h(this, e);
        }
    }

    protected override void WndProc(ref Message m)
    {
        if (m.Msg == WM_MOVING)
        {
            var r = (Win32NativeMethods.RECT)Marshal.PtrToStructure(m.LParam, typeof(Win32NativeMethods.RECT));
            var rectangle = new Rectangle(r.left, r.top, r.Bounds.Width, r.Bounds.Height);

            var args = new MovingEventArgs(rectangle);
            OnMoving(args);
        }

        base.WndProc(ref m);
    }
}

Hope this is helpful someday to me or others.