你可以循环把题目装入一个数组的成员变量。以及用一个int值表示当前的题目。private string[] questions = new string[20];
private int currentquestion = 0;i = 0;
while (dr.Read())
{    questions[i] = " "+dr.GetString(1) +"\n" +
                    "\n" + "  A." + dr.GetString(2) +
                    "\n" + "  B." + dr.GetString(3) +
                    "\n" + "  C." + dr.GetString(4) +
                    "\n" + "  D." + dr.GetString(5);
    i++;
}那么上一题下一题就是改变currentquestion,然后从数组取出对应的题目。