繁体   English   中英

我怎样才能在c#中获取所有winforms窗体边框样式

[英]how can i get all winforms form border styles in c#

我是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 );
    }

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;

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM