1

我有一个下拉列表,其中包含一个边框样式名称列表,例如“Dotted,Solid,Groove ...”我需要更改borderstyle,所以尝试了这样的事情

Panel1.BorderStyle = DropDownList1.SelectedItem.ToString();

这就是我如何填充下拉列表 DropDownList3.DataSource = Enum.GetValues(typeof(BorderStyle));

但它不起作用。

4

5 回答 5

2

尝试这样的事情

string selectedStyle = DropDownList1.SelectedItem.ToString();

if (selectedStyle == "Dotted")
{
    Panel1.BorderStyle = System.Web.UI.WebControls.BorderStyle.Dotted;
}
else if (selectedStyle == "Solid")
{
    Panel1.BorderStyle = System.Web.UI.WebControls.BorderStyle.Solid;
}
// and so on ...
于 2013-03-27T13:44:13.947 回答
1

这对你有用吗

 panel1.BorderStyle = (BorderStyle)Enum.Parse(typeof(BorderStyle),
    DropDownList1.SelectedItem.ToString());

您需要在您身边添加一些额外的代码检查,以防找不到 BorderStyle

引用自 MSDN:WebControl BorderStyle

于 2013-03-27T13:50:12.867 回答
1

对我来说,我会做类似的事情:

panel1.BorderStyle = (BorderStyle)Enum.Parse ( typeof ( BorderStyle ), DropDownList1.SelectedItem.ToString () );
于 2013-03-27T13:54:57.550 回答
0

我没有尝试过,但可能你提供了一个具有真实值的 Item 集合,例如:

 System.Web.UI.WebControls.BorderStyle.Dotted
 System.Web.UI.WebControls.BorderStyle.Solid
 etc. 

然后尝试类似:

Panel1.BorderStyle = DropDownList1.SelectedItem;
于 2013-03-27T13:52:02.080 回答
0
panel1.BorderStyle = BorderStyle.Fixed3D;
于 2013-03-27T13:45:30.800 回答