如何在c#中获取所有winforms表单边框样式

本文关键字:winforms 表单 边框 样式 获取 | 更新日期: 2024-10-20 04:09:08

我是C#的新手,正在学习教程。我正在尝试将边框样式添加到组合框中,我希望能够检索所有可能的边框样式。

private void Form1_Load(object sender, EventArgs e)
    {
        /*
        foreach (FormBorderStyle f in FormBorderStyle)
        {
        }
       */
        // This return only the current one.
        FormBorderStyle borderStyleEntry = this.FormBorderStyle;
        borderSelector.Items.Add(borderStyleEntry );
    }

如何在c#中获取所有winforms表单边框样式

FormBorderStyle是一个Enum。您需要foreach超过Enum的值。

foreach (FormBorderStyle f in (FormBorderStyle[])Enum.GetValues(typeof(FormBorderStyle)))
{
    borderSelector.Items.Add(f.ToString());
}

为了完整起见,基于@elgonzo的注释,下面展示了如何从String中获取Enum值。

private void borderSelector_SelectedIndexChanged(object sender, EventArgs e)
{
    this.FormBorderStyle = (FormBorderStyle)Enum.Parse(typeof(FormBorderStyle), borderSelector.SelectedItem.ToString());
}

您可以首先将FormBorderStyle枚举转换为List<string>,然后将其设置为组合框的数据源。

List<string> values = Enum.GetNames(typeof(FormBorderStyle)).ToList();
comboBox1.DataSource = values;