Zweites Fenster rechts am Hauptfenster andocken

Marc79

Mitglied
Hi zusammen,

ich habe eine kurze Frage.
Unter C# habe ich zwei Fenster programmiert.

Das erste ist das Hauptfenster und das zweite wird durch den User zur Laufzeit aufgerufen.
Ich würde gerne das zweite Fenster rechts direkt an das Hauptfenster andocken, so dass es sich zusammen mit dem Hauptfenster mitbewegt, wenn dieses auf dem Desktop verschoben wird ...

Jemand einen Ansatz, eine Idee?
Vielen Dank und Gruß
Marc
 
Hi,

ja das schon. Habe unterschiedliche Varianten probiert.
Umständlich bekomme ich es irgendwie auch hin, aber es wäre interessant zu wissen, ob es eine einfachere Methode gibt.

Gruß Marc
 
C#:
using System;
using System.Runtime.InteropServices;
using System.Windows.Forms;

namespace WindowsFormsApplication1
{
    public partial class Form1 : Form
    {
        [DllImport("User32.dll", ExactSpelling = true, CharSet = System.Runtime.InteropServices.CharSet.Auto)]
        private static extern bool MoveWindow(IntPtr hWnd, int x, int y, int cx, int cy, bool repaint);
        Form2 AnderesFenster;
        public Form1()
        {
            InitializeComponent();
            AnderesFenster = new Form2();
            AnderesFenster.Show();
        }
        /// <summary>
        /// The WM_MOVING message is sent to a window which the user is moving.
        /// </summary>
        const Int32 MOVING = 0x0216;
        protected override void WndProc(ref Message m)
        {
            base.WndProc(ref m);
            // Anderem Fenster sagen, dass es sich bewegen soll
            if (m.Msg == MOVING && AnderesFenster != null && !AnderesFenster.IsDisposed) MoveWindow(AnderesFenster.Handle, this.Right, this.Top, AnderesFenster.Width, AnderesFenster.Height, false);
        }
    }
}
Mit dem Boolean-Parameter in der MoveWindow-Funktion kannst du festlegen, ob das andere Fenster nach dem verschieben neu gezeichnet werden soll oder nicht.
Siehe auch: http://msdn.microsoft.com/en-us/library/ms633534(v=vs.85).aspx
 
Zuletzt bearbeitet:

Neue Beiträge

Zurück