每次加载表单时,我想使用轮子更改(例如)30 个按钮的背景图像。
我不能使用这个:
for(int i=1;i<=30;i++)
{
button i .backgroundimage=image.fromfile("URL");
}
我应该怎么办?
您的问题有多种可能的解释。为什么你不能使用你的代码?您的问题也有不同的解决方案。
例如:
public Form1() // Constructor
{
InitializeComponent(); // Ensure all controls are created.
List<Button> buttons = new List<Button>(30);
buttons.Add(mybutton1)
buttons.Add(mybutton2)
// Go futher with all your buttons.
}
private void Form1_Load(object sender, System.EventArgs e) // Create a load event
{
foreach(Button button in buttons)
{
button.BackgroundImage = Image.FromFile(path);
// Note: The file remains locked until the Image is disposed!
}
}
好吧,假设此代码在 Form_Load 中执行并且按钮父控件是您的表单,您可以使用类似的东西。请记住,您应该提供要设置为背景图像的图像的真实路径
string path = "rootNameOfTheImage";
int counter = 0;
foreach(Control ctrl in this.Controls)
{
if(ctrl is Button)
{
Button btn = (Button)ctrl;
if(/* test if this button should be used */)
{
btn.BackgroundImage=Image.FromFile(path + counter++.ToString() + ".jpg");
}
}
}