更改单选按钮背景图像 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)];
}
结果:
我想编辑和更改单选按钮的背景图片。 我希望它在程序 运行 期间继续进行,但我找不到正确的代码来执行此操作。 当然,我不能通过简单的方式通过属性来做到这一点,因为我需要它实时发生。 我正在使用 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)];
}
结果: