C# 启动程序时显示可滚动面板的开头

C# 启动程序时显示可滚动面板的开头,c#,winforms,panel,C#,Winforms,Panel,我有一个测试程序。我将问题保留在面板中,但当我运行程序时,它会显示面板的中间。如何使其显示面板的开头? private void Form1\u加载(对象发送方,事件参数e) { 对于(int i=0;i

我有一个测试程序。我将问题保留在面板中,但当我运行程序时,它会显示面板的中间。如何使其显示面板的开头?

private void Form1\u加载(对象发送方,事件参数e)
{
对于(int i=0;i<10;i++)
{
字典答案=新字典();
对于(int j=0;j<4;j++)
{
字符串ans=(j+1);
布尔标志=假;
如果(i>5)
{
如果(j==0 | | j==2)
{
flag=true;
}
}否则
如果(j==0)
{
flag=true;
}
答案。添加(ans,标志);
}
字符串q_text=“Пааааа”№ " + (i+1);
此.add问题(q_文本,答案);
}
panel1.ScrollControlInView(panel1.Controls[0]);
}
您可以使用:

  • 方法:

  • 小组财产:

    panel.VerticalScroll.Value = 0;
    

  • 尝试将焦点设置在Form_Load事件面板中的第一个控件上:

    panel1.Controls[0].Select();
    

    尝试在
    面板中的第一个
    控件
    上设置
    焦点
    ,这两种方法都没有帮助。我用Form1\u Load编写,但它仍然显示面板的中间。尝试将此代码移动到所示的
    窗体
    事件处理程序。或者显示窗体的启动代码。请参阅上面的代码,我找不到Form\u ShownMake sur这样的事件处理程序e面板的
    AutoScroll
    属性为
    false
    。在未包含
    panel1
    的初始化代码之前,您的代码似乎是无用的。您可以在设计器中找到显示的
    事件。:)
    
    panel.VerticalScroll.Value = 0;
    
    panel1.Controls[0].Select();