Hỏi về hàm trong C#

mn làm hộ em cái chỗ thủ tục với ạ. em làm không chạy được. :(((
------------Code------------của em

private void radFrance_CheckedChanged(object sender, EventArgs e)
        {
            Country = "France";
            lblMain.Text = "Hãy chọn thành phố cho " + Country;
           
           Form1 eo = new Form1();
           eo.EmptyOption(e);
        }
private void EmptyOption(EventArgs e)
        {
            radBuenosAires.Checked = false;
            radBrazilC.Checked = false;
            radTokyo.Checked = false;
            radRome.Checked = false;
            radWashington.Checked = false;
            radMadrid.Checked = false;
            radLondon.Checked = false;
            radAnkara.Checked = false;
            radBudapest.Checked = false;
            radParis.Checked = false;
        }

khi gọi thì bình thường, thêm MsgBox trong EmptyOption() khi chạy có MsgBox hiện lên nhưng mấy cái sau như không chạy được ý. Xin mn chỉ giúp em ạ.

đã tìm ra cách r
khi gọi hàm thì chỉ cần gọi thủ tên hàm

private void radFrance_CheckedChanged(object sender, EventArgs e)
        {
            Country = "France";
            lblMain.Text = "Hãy chọn thành phố cho " + Country;
           
           Form1 eo = new Form1();
           eo.EmptyOption(e);
        }

--------------->>>>>>>

private void radFrance_CheckedChanged(object sender, EventArgs e)
        {
            Country = "France";
            lblMain.Text = "Hãy chọn thành phố cho " + Country;
           
           EmptyOption(e);
        }
1 Like

Bạn có thể tự đánh dấu cho câu trả lời của mình :smile:

1 Like

Cảm ơn @chanhbc đã gửi giải pháp của mình lên nhé, đây đúng là tinh thần Dạy Nhau Học :+1:

Dạ, em cũng mới biết đến diễn đàn, khi nào có khó khăn thì phải hỏi, mà khi nào có cách giải quyết thì cũng chia sẻ thôi a ạ.

2 Likes

ai có thể cho mình xin code bài này với được không ạ

đây là code C# 1 bài tập thôi, bạn có thể tự làm, nếu không làm được thì hãy hỏi mọi người, còn mọi người sẽ không đưa ra code đâu

mình vừa bắt đầu học c#, mình gọi hàm EmptyOption(e) nhưng khi vừa chạy thì nó hiện ngay là mình đã chọn pari là thành phố của france

bạn xem code ở trên của mình rồi tham khảo xem

code của mình đây ạ
private void rdofrance_CheckedChanged_1(object sender, EventArgs e)
{
label2.Text = “Hãy chọn thành phố cho France”;
EmptyOption(e);
if (rdoparis.Checked = true) MessageBox.Show(“Chúc mừng bạn, thủ đô của France là Paris”, “Thông báo”, MessageBoxButtons.OK);
else
if (rdobuenosaires.Checked = true) MessageBox.Show(“Bạn sai rồi, thủ đô của France không phải là Buenos Aires”, “Thông báo”, MessageBoxButtons.OK);
else
if (rdobazilcity.Checked = true) MessageBox.Show(“Bạn sai rồi, thủ đô của France không phải là Brazil”, “Thông báo”, MessageBoxButtons.OK);
else
if (rdotokyo.Checked = true) MessageBox.Show(“Bạn sai rồi, thủ đô của France không phải là Tokyo”, “Thông báo”, MessageBoxButtons.OK);
else
if (rdorome.Checked = true) MessageBox.Show(“Bạn sai rồi, thủ đô của France không phải là Rome”, “Thông báo”, MessageBoxButtons.OK);
else
if (rdowashington.Checked = true) MessageBox.Show(“Bạn sai rồi, thủ đô của France không phải là Washington”, “Thông báo”, MessageBoxButtons.OK);
else
if (rdomadrid.Checked = true) MessageBox.Show(“Bạn sai rồi, thủ đô của France không phải là Madrid”, “Thông báo”, MessageBoxButtons.OK);
else
if (rdolondon.Checked = true) MessageBox.Show(“Bạn sai rồi, thủ đô của France không phải là London”, “Thông báo”, MessageBoxButtons.OK);
else
if (rdoankara.Checked = true) MessageBox.Show(“Bạn sai rồi, thủ đô của France không phải là Ankara”, “Thông báo”, MessageBoxButtons.OK);
else
if (rdobudapest.Checked = true) MessageBox.Show(“Bạn sai rồi, thủ đô của France không phải là Budapest”, “Thông báo”, MessageBoxButtons.OK);
}

Tạo 1 class lưu tên nước và tên thủ đô tương ứng :

class Country{
    public string Name=string.Empty;
    public string Capital=string.Empty;
    public override ToString(){
        return Name+"-"Capital;
    }
}

Bây giờ tạo 1 danh sách lưu tên nước và thủ đô tương ứng.

List<Country> CountryList = new List<Country>(){
    new Country(){Name="Japan",Capital="Tokyo",
    new Country(){......},
};

Tất cả các radiobutton Country có sự kiện CheckedChnaged sẽ đều làm một việc như thế này :

private string SelectedCountry=string.Empty;
private void Country_CheckedChanged(object sender, EventArgs e)
{
      SelectedCountry= ((RadioButton)sender).Text; // Lưu lại tên nước vừa chọn
      lblMain.Text = "Hãy chọn thành phố cho " + SelectedCountry;
      // Xóa hết radiobutton Capital
}

Khi một RadioCapital được chon sẽ làm thế này (tất cả raidioCaptial có CheckedChanged là hàm này):

private string CapitalSelected=String.Empty;
private void Capital_CheckedChanged(object sender, EventArgs e)
{
      CapitalSelected= ((RadioButton)sender).Text; // Lấy tên thủ đô đã chọn
      // Ghép thủ đô với tên nước đã chon
      string data = CountrySelected +"-"+CapitalSelected;
      // Kiểm tra
      bool IsMatch = false;
      for(int I=0;i<CountryList.Count;i++){
          if(data == CountryList[i].ToString()){ // tương đồng rồi thì thoát 
               IsMatch=true; break;
          }
      }
      if(IsMatch == false){
          MessageBox.Show("Bạn sai rồi, thủ đô của " + CountrySelected " + "không phải là " + CapitalSelected); 
      }
}
2 Likes
83% thành viên diễn đàn không hỏi bài tập, còn bạn thì sao?