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!
Follow_me in C# WindowForm
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
tks bạn mình làm được rồi :))