根据 ListBox 项目添加动态按钮

Add dynamic Buttons according to ListBox items

我需要将 ListBox 项目转换为动态按钮。意思是,我的工具有一个组合框,用于显示包含文本链接的文件夹中的文本文件。
在 ComboBox 中选择项目时,将填充下面的 ListBox。
我想删除组合框并改为添加按钮。

如何使用变量 TextWidth 在面板中动态添加按钮?
如何处理动态按钮的 Click 事件?

这是软件当前的工作方式:

我想更改界面,如图所示。
目前,我关心的是动态按钮功能以及如何将它们添加到面板。
我需要帮助。

这是我需要做的:

谢谢大家!它按我的预期完成了。我将 GunaFramework 用于圆角按钮。我在动态按钮中使用了下面的代码。

for (int i = 0; i < 5; i++)
            {
                Button button = new Button();
                button.Tag = i;
                button.AutoSize = true;
                
                button.Text = fNames[i].Split('\').Last().Replace(".txt", ""); 
                button.Click += (s, c) => { your action; }; 
                FlowLayOutPanel.Controls.Add(button);
            }