Có cách nào gọi một method trong form từ class khác

Em mới học C#. Em đang cần gọi method từ trong lớp. Em có xem qua các khái niệm về delegate và event nhưng mông lung, có tài liệu nói chỉ có thể gọi hàm trong cùng 1 class, có tài liêu nói có thể gọi được ở bất cứ đâu.

Nếu có thể gọi được, em xin 1 ví dụ gọi hàm theo tiêu chí trên ạ!

Mình thường làm như thế này: Class B là form, Class A bao gồm một object thuộc class B. Trong class B có một public non-static method, và gọi từ object thuộc Class B, như vậy có được không bạn?

1 Like

remove duplicate post

// topic trồi lên thì move luôn


Mình không dùng delegate hay event, liệu có thoả mãn ý kiến của bạn không :slight_smile:

2 Likes

oh mình làm dc rôi!. hiệu quả mà đơn giản quá! đúng mình gà thất :blush: :kissing_heart:

ac! hk dc bạn ơi! nó new form lên . mình cần thao tác trên trên form này!
mặc dù có chạy vào methold nhưng không thể thao tác trên form để hiển thị dữ liệu

thay vì new Form2().ahjhj(); như mình, bạn làm thế này:

var dcmm = new Form2();
dcmm.blablabla();
dcmm.ahjhj();
dcmm.Show, Hide, Close hay cái gì cũng được :))
1 Like

khởi tạo bằng new thì không phải là form đó rồi mình đang cần thao tác trả về hiển thị trên form đó

nếu vậy trong Form2 bạn phải viết thêm phương thức lấy dữ liệu nữa. Vì các thuộc tính của các item trên Form2 (TextBox1.Text chẳng hạn) đều là private và không thể gọi được từ class ngoài nếu không có phương thức get tương ứng. (ví dụ trong Form2 bạn có thêm public string ahjhj(){return TextBox2.Text} và gọi ahjhj() trong Form1)

1 Like

Truyền thằng Form1 vào Form2.
Trong Form2 khai báo 1 thằng kiểu Form1 nhưng đừng có new.
Khi khởi tạo Fyorm2 thì gán thằng Form1 trong Form2.

class Form2{
    public Form1 frm1;

    // gọi hàm trên form1
    void call(){
            frm1.hamgido();
     }
}

// trong Form1
Private showForm2(){
    Form2 frm2=new Form2(){frm1=this};
    Frm2.Show();
}
1 Like

bạn ơi cho mình xem video với được không

Xoá lâu rồi

cho mình hỏi tí nha, mình có 2 form và trong form 2 mình muốn gọi richtextbox của form 1 thì làm sao dk vậy

form 2 có phương thức getter:

public RichTextBox getRichTextBox1()
{
	return this.richTextBox1;
}
1 Like
83% thành viên diễn đàn không hỏi bài tập, còn bạn thì sao?