Try this code in your Form move event, this is a quick test code, you can change it based on your requirement.
private void frmMain_Move(object sender, EventArgs e)
{
if (MousePosition.X < 20)
{
this.Size = new System.Drawing.Size(Screen.PrimaryScreen.WorkingArea.Width / 2, Screen.PrimaryScreen.WorkingArea.Height);
this.Location = new Point(0, 0);
}
if (MousePosition.X > Screen.PrimaryScreen.WorkingArea.Width - 20)
{
this.Size = new System.Drawing.Size(Screen.PrimaryScreen.WorkingArea.Width / 2, Screen.PrimaryScreen.WorkingArea.Height);
this.Location = new Point((Screen.PrimaryScreen.WorkingArea.Width / 2), 0);
}
if (MousePosition.Y < 20)
{
this.Size = new System.Drawing.Size(Screen.PrimaryScreen.WorkingArea.Width, Screen.PrimaryScreen.WorkingArea.Height / 2);
this.Location = new Point(0, 0);
}
if (MousePosition.Y > Screen.PrimaryScreen.WorkingArea.Height - 20)
{
this.Size = new System.Drawing.Size(Screen.PrimaryScreen.WorkingArea.Width, Screen.PrimaryScreen.WorkingArea.Height / 2);
this.Location = new Point(0, (Screen.PrimaryScreen.WorkingArea.Height / 2) - 20);
}
}
also you have to show that at-least you tried something (even it if it's a broken code), otherwise this like we are doing work for you, instead of helping you.