30/09/2018, 18:02

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 ạ.

Đỗ Văn Chanh viết 20:15 ngày 30/09/2018

đã 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);
        }
Thành Phạm viết 20:06 ngày 30/09/2018

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

Hiện nay thành viên đã có thể đặt câu hỏi và chọn câu trả lời đúng trong Category #programming và #randomq, thế nên ai đã đặt câu hỏi và nhận câu trả lời chính xác thì nhớ chọn câu trả lời đúng để cảm ơn người trả lời nhé. Nếu người hỏi tự trả lời được câu hỏi thì nên post solution của mình và tự chọn luôn đó là câu trả lời đúng để cho người sau vào sẽ biết cách giải quyết. Các categories được chọn câu trả lời đúng programming randomq Người đặt câu hỏi có thể chọn câu trả lời đúng bằ…
Mai Anh Dũng viết 20:06 ngày 30/09/2018

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

Đỗ Văn Chanh viết 20:16 ngày 30/09/2018

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 ạ.

lethu viết 20:07 ngày 30/09/2018

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

Đỗ Văn Chanh viết 20:15 ngày 30/09/2018

đâ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

lethu viết 20:09 ngày 30/09/2018

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

Đỗ Văn Chanh viết 20:16 ngày 30/09/2018

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

lethu viết 20:12 ngày 30/09/2018

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);
}

Văn Dương viết 20:11 ngày 30/09/2018

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); 
      }
}
Bài liên quan
0