Эх … ну совсем ничего не хотят делать … все дайте подайте принесите …
У меня только один вопрос: Зачем вы занимаетесь программированием с таким подходом к решению задач?? Может быть это не ваше?
public partial class Form1 : Form
{
Form RightForm = null;
public Form1()
{
InitializeComponent();
}
private void button1_Click(object sender, EventArgs e)
{
if(RightForm==null)
{
RightForm = new Form2();
RightForm.Show();
Form1_Resize(null, new EventArgs());
}
}
private void Form1_Resize(object sender, EventArgs e)
{
if(RightForm!=null)
{
RightForm.Location = new Point(Location.X + Width, Location.Y );
}
}
}
А если надо наоборот, при перемещении второй формы двигать основную, то просто добавить то же самое во второй, только Location менять наоборот у основной формы.
я имею виду как имено
RightForm.Location = new Point(Location.Y + Width, Location.X );
или
RightForm.Location = new Point(Location.X, Location.Y + Width );
Координаты обычно идут в порядке X, Y. Ну или в документации же посмотреть можно, или в подсказке при вводе увидеть.
И добавлять к Y ширину это что-то странное.
Location это координаты левого верхнего угла формы. Соответственно чтоб одна форма оказалась справа от другой, к Х в примере выше прибавили ширину.