更改单选按钮背景图像 C#

Change radio button background image C#

我想编辑和更改单选按钮的背景图片。 我希望它在程序 运行 期间继续进行,但我找不到正确的代码来执行此操作。 当然,我不能通过简单的方式通过属性来做到这一点,因为我需要它实时发生。 我正在使用 VisualStudio winforms。 谢谢!

void RandomRB(string[] answers, string[] images)
    {
        int[] randarray = new int[3];
        for (int i = 0; i < 3; i++)
        {
            // To make sure there are no crossing indexes
            randarray[i] = -1;
        }
        Random rnd = new Random();
        int random;
        for (int i = 0; i < 3; i++)
        {
            random = rnd.Next(0, 3);
            // To make sure that the random index hasn't been used before
            if (randarray.Contains(random))
                i--;
            else
                randarray[i] = random;
        }
        rb1.Text = answers[randarray[0]];
        // I want to insert a picture from string[] images
        rb1.BackgroundImage = ???
        rb2.Text = answers[randarray[1]];
        rb1.BackgroundImage = ???
        rb3.Text = answers[randarray[2]];
        rb1.BackgroundImage = ???
    }

根据您的描述,您希望单选按钮的背景图片和文字动态变化。 您可以尝试以下代码来解决您的问题。

private void Form1_Load(object sender, EventArgs e)
        {
            timer1.Enabled = true;
            timer1.Interval = 1000;       
            radioButton1.BackgroundImageLayout =ImageLayout.Stretch;
        }
        string[] path = Directory.GetFiles(@"F:\Picture");
        string[] answers = {"AA","BB",  "CC", "DD", "EE","FF"};
        Random r1 = new Random();
        Random r2 = new Random();       
        private void timer1_Tick(object sender, EventArgs e)
        {
         
            radioButton1.BackgroundImage = Image.FromFile(path[r1.Next(0,path.Length)]);
            radioButton1.Text =answers[r2.Next(0, answers.Length)];
        }

结果: