【问题标题】:Create a scrollable button list panel in Windows Form C# application在 Windows 窗体 C# 应用程序中创建可滚动按钮列表面板
【发布时间】:2017-03-10 04:53:47
【问题描述】:

我正在尝试通过 Visual Studio 中的 C# 脚本在面板内添加可滚动的按钮列表。

我可以制作滚动条并将其附加到面板并从 UI 手动在面板内添加按钮,但我想为整个面板以及滚动条编写代码并在新创建的面板内创建按钮。

谁能帮我解决这个问题?

在 Unity 中,我可以使用 OnGUI 函数并使用 GUI 类添加这些功能,但我不知道如何在 Winform 应用程序中执行此操作。

【问题讨论】:

    标签: c# winforms button scrollview


    【解决方案1】:

    如果你想达到这样的目标 然后只需创建一个 flowLayout 面板并将按钮添加到 flowlayout 面板并将 flowlayout 的 Autoscroll 属性设置为 true。

    for (int i = 0; i < 19; i++)
    {
      Button b = new Button();
      b.Text = "b" + i;
      flowLayoutPanel1.Controls.Add(b);
    }
    

    并为 flowlayoutpannel 设置 autoscroll 属性。

    flowLayoutPanel1.AutoScroll = true;
    

    【讨论】:

    • 是的,这正是我正在寻找的。还有一个问题:我是否必须首先在 for 循环之外声明和初始化 flowLayoutPanel1 属性?因为看起来你在 for 循环之外设置了 autoscroll 属性。
    • 谢谢你让它变得非常简单易懂。但是我现在正在考虑每个新创建的按钮的响应功能。从脚本中,我将如何检查单击了哪个新按钮并创建一个仅响应该单击的响应函数?很抱歉给您带来这么多麻烦
    • 然后你在flowlayoutpannel中有你所有的按钮对象,你可以从那里列出按钮点击事件的
    • @MarkJackson 是否对您有效,如果有效,然后将其标记为答案并进行投票,以便对其他用户有所帮助
    • 抱歉,它成功了。我是这个 statckoverflow 系统的新手,所以我不知道大声笑
    猜你喜欢
    • 2014-06-25
    • 2012-01-27
    • 2022-11-19
    • 1970-01-01
    • 2012-07-09
    • 2013-10-31
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多