簡體   English   中英

獲取檢查單選按鈕

[英]Getting checked radio button

我制作了4個單選按鈕,並將其標簽設置為木頭,鑽石,粘土和磚頭。 我想找到選中的一個,並根據所選的單選按鈕設置一個Bitmap屬性。 忽略將其拆分為更多方法的事實,這將在我重構時完成。 Map和Cell中的cellBgImage屬性為null。

 void setCellBgImage()
        {
            string cellBgImage = "";
            foreach (Control c in myMap.myForm.Controls)
            {
                if (c is RadioButton)
                {
                    RadioButton radio = c as RadioButton;
                    if (radio.Checked)
                    {
                        cellBgImage = radio.Tag.ToString();
                    }
                }
            }
            switch (cellBgImage)
            {
                case "wood":
                    myMap.cellBgImage = (Bitmap)Bitmap.FromFile("Images/wood.png");
                    break;
                case "diamond":
                    myMap.cellBgImage = (Bitmap)Bitmap.FromFile("Images/diamond.png");
                    break;
                case "clay":
                    myMap.cellBgImage = (Bitmap)Bitmap.FromFile("Images/clay.png");
                    break;
                case "brick":
                    myMap.cellBgImage = (Bitmap)Bitmap.FromFile("Images/brick.png");
                    break;
            }
            foreach (Cell cell in myMap.myCells)
            {
                cell.myBgImage = myMap.cellBgImage;
            }
        }

將默認情況添加到開關,以便在未選中任何情況時仍在myMap.cellBgImage中獲得一個值。

      default:
            myMap.cellBgImage = (Bitmap)Bitmap.FromFile("Images/brick.png");
            break;

當您在注釋中書寫時,您的RB在panel1中。 所以你應該像這樣做Foreach:

foreach (Control c in this.panel1.Controls)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM