Я предполагаю, что код действительно добавляет все кнопки, но все они расположены друг над другом.Каждая кнопка будет иметь значение по умолчанию для Left
и Top
, и эти значения по умолчанию будут одинаковыми для каждой кнопки.Поскольку все кнопки имеют одинаковый размер, видна только верхняя кнопка.
Решите проблему, установив свойства Left
и Top
для каждой кнопки.Очевидно, что каждая отдельная кнопка должна иметь различное значение для Left
и Top
.
Чтобы ответить на вопрос, который вы задаете в комментарии, вы можете использовать код в следующих строках:
const int buttonSize = 64;
int left = 0;
int top = 0;
foreach (DictionaryEntry entry in resourceSet)
{
object resource = entry.Value;
Button b = new Button();
b.BackgroundImage = (Image)resource;
b.BackgroundImageLayout = ImageLayout.Stretch;
b.Bounds = Rectangle(left, top, buttonSize, buttonSize);
this.Controls.Add(b);
// prepare for next iteration
left += buttonSize;
if (left+buttonSize>this.ClientSize.Width)
{
left = 0;
top += 64;
}
}