程序应该做的是:如果选择了展览,展览的分组框将是可见的,而俱乐部分组框是隐藏的。(如果选择了俱乐部,反之亦然)
代码:
namespace Promoter.Forms
public partial class eventCreate : Form
{
public eventCreate()
{
InitializeComponent();
//import enum value to combo box
cmbEventType.DataSource = Enum.GetValues(typeof(EventType));
}
private void eventCreate_Load(object sender, EventArgs e)
{
if (cmbEventType.Text == "Exhibition")
{
grpClubbing.Visible = false;
grpExhibition.Visible = true;
//import enum values to combo box
cmbExhibitionVenue.DataSource = Enum.GetValues(typeof(ExhibitionVenue));
}
else if (cmbEventType.Text == "Clubbing")
{
grpExhibition.Visible = false;
grpClubbing.Visible = true;
//import enum values to combo box
cmbClubbingVenue.DataSource = Enum.GetValues(typeof(ClubbingVenue));
}
}发布于 2015-05-05 00:06:20
尝试使用SelectedIndexChanged事件。
private void cmdEventType_SelectedIndexChanged( object sender, EventArgs e ) {
ComboBox cb = (ComboBox)sender;
grpClubbing.Visible=false;
grpExibition=false;
switch ( cb.SelectedText ) {
case "Exhibition":
grpExhibition.Visible = true;
//import enum values to combo box
cmbExhibitionVenue.DataSource = Enum.GetValues(typeof(ExhibitionVenue));
break;
case "Clubbing":
grpClubbing.Visible = true;
//import enum values to combo box
cmbClubbingVenue.DataSource = Enum.GetValues(typeof(ClubbingVenue));
break;
default:
break;
}
}发布于 2015-05-05 00:05:11
修复了它,只是在我的脑海中失去了一个逻辑。
而不是
private void eventCreate_Load(object sender, EventArgs e)我不得不推理并在下面这样做:
private void cmbEventType_SelectedIndexChanged(object sender, EventArgs e)https://stackoverflow.com/questions/30034455
复制相似问题