【问题标题】:How to set scroll bar in Windows form如何在 Windows 窗体中设置滚动条
【发布时间】:2012-09-07 07:12:16
【问题描述】:

我在 .net 中有一个 winform,我放置了太多控件并设置了表单的高度和宽度。 但是当我编译表单并减小表单的大小时,我的控件不可见。当我增加表单的大小时,控件在它们自己的位置可见。

我希望当我减小表单大小时出现滚动条,而当我们增加表单大小时滚动条消失。

【问题讨论】:

  • 请,请,请使用更短的句子。真的很难理解你的问题...

标签: c# .net


【解决方案1】:

您需要将 Panel 控件用作子控件的容器并设置“AutoScroll” 属性为真。

【讨论】:

    【解决方案2】:

    true 设置为 Form 的 AutoScroll 属性。

    【讨论】:

    • 关闭 AutoSize 属性。阅读 MSDN page
    【解决方案3】:

    您可以使用 Panel、TabControl 或 SplitContainer 控件作为容器,并将所有控件放入其中。将 Panel 控件的 AutoScroll 属性设置为 true 以获取窗体上的滚动条。将 Panel 控件停靠到 Fill 以便它出现在整个表单上。

    谢谢。

    【讨论】:

      【解决方案4】:

      有一点需要记住的是,

      将表单的 AutoScroll 属性设置为 true。

      运行时,当窗体有控件直到高度结束时,如果窗体末尾不包含任何控件并且上面只有空间,则此 AutoScroll 属性不起作用。

      【讨论】:

        【解决方案5】:

        在面板中添加对窗体的所有控件,在窗体的 Load 事件中编写以下代码并将窗体的自动滚动属性设置为 true。

        private void Form1_Load(object sender, EventArgs e)
        {
            Panel my_panel = new Panel();
            VScrollBar vScroller = new VScrollBar();
            vScroller.Dock = DockStyle.Right;
            vScroller.Width = 30;
            vScroller.Height = 200;
            vScroller.Name = "VScrollBar1";
            my_panel.Controls.Add(vScroller);
        }
        

        【讨论】:

          【解决方案6】:

          在您的表单加载事件中编写此代码,您将获得滚动条,就像我在表单加载事件中编写它一样。

          private void Form1_Load(object sender, EventArgs e)
          {    
              Panel my_panel = new Panel();
              VScrollBar vScroller = new VScrollBar();
              vScroller.Dock = DockStyle.Right;
              vScroller.Width = 30;
              vScroller.Height = 200;
              vScroller.Name = "VScrollBar1";
              my_panel.Controls.Add(vScroller);
          }
          

          【讨论】:

            猜你喜欢
            • 2010-11-11
            • 1970-01-01
            • 2012-04-18
            • 2011-05-18
            • 1970-01-01
            • 2010-10-18
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            相关资源
            最近更新 更多