Follow_me in C# WindowForm

em mới học C# và e muốn hỏi các pro 1 chút về Window Form: e có 1 bào tập là viết 1 chương trình gồm 2 form, mỗi form có 1 hình tròn, vuông gì gì đó…sao cho khi di chuyển cái hình ở form 1 thì cái hình tương ứng ở form 2 sẽ di chuyển theo! mong các pro cho e cái ý tưởng hoặc có code tham khảo thì càng tốt. mong mn đóng góp chân thành! tks!

Bạn hãy tưởng tượng Form (hay Button, hay FileStream, hay SerialPort hay DataBase hay bất cứ cái gì gì đó) trong C# chỉ là object có các thuộc tính và method. Việc move hình trên form 2 chỉ là việc gọi method của thuộc tính trong object thôi.
VD:

class Form1
{
    Form2 form2 = new Form2(); // Form 2 chỉ là 1 property của Form1
    HinhTron Hinh = new Hinh(); 
   
    public Form1()
    {
        Form2.SetParent(this);
        Form2.Show();
    }
    // Event này có thể là MouseMove, hoặc tự đinh nghĩa 
    void Event_HinhTrongForm1_Moved(object whatever )
    {
        Position position = Hinh.Position
        form2.MoveHinhTo(position); // Cách 1
        form2.Hinh.MoveTo(position); // Cách 2
        form2.Hinh.Position = position; // Cách 3
        form2.Hinh.SetPosition(position); // Cách của mấy thằng cha quen dùng java
       // Còn cách nữa tham khảo class dưới
    }
}

class Form2()
{
    Form1 parent; // Form1 cũng có thể là 1 thuộc tính của Form2.
    HinhVuong Hinh;
    public void SetParent(Form1 f1)
    {
        parent = f1;
        // Dưới đây là cách thứ 5. Hơi khó hiểu nếu bạn mới học C#.
        parent.Event_HinhTrongForm1_Moved += (w) => { 
            Hinh.Position = parent.Hinh.Position;
        }
    }
}
1 Like

https://puu.sh/DpzyS.7z

1 Like

tks bạn mình làm được rồi :))

83% thành viên diễn đàn không hỏi bài tập, còn bạn thì sao?