Yes: it is possible to do.
The way I would do it is to create a UserControl which handled the question and possible answers, and then create those dynamically in a loop:
Dictionary<string, List<string>> qAndA = new Dictionary<string, List<string>>()
{
{"1 + 1 ?", new List<string>() { "2", "1", "3", "4"}},
{"2 + 2 ?", new List<string>() { "4", "2", "3", "1"}}
};
int x = 10;
int y = 100;
foreach (string key in qAndA.Keys)
{
QAndA qa = new QAndA(key, qAndA[key]);
qa.Location = new Point(x, y);
Controls.Add(qa);
y += 50;
}
The UserControl then uses the two parameters to set the question and answers.