【发布时间】:2017-09-04 13:31:06
【问题描述】:
我有一个包含人名的项目列表。我已经做到了,一旦到达列表的末尾,按钮就会被禁用,因此很明显没有更多的项目了。问题是当我返回上一个项目时,即使我重新启用了该按钮,该按钮仍然处于禁用状态...
所以我有禁用/启用按钮的方法,并且在 button_click 事件处理程序中有对该方法的调用:
public void DisableButton()
{
if(birthdays.IsThereAnotherItem())
{
btnNext.Enabled = true;
}
else if (!birthdays.IsThereAnotherItem())
{
btnNext.Enabled = false;
}
}
我还激活了 button_EnabledChanged 事件处理程序。
我像这样回到上一个项目......
private void btnPrevious_Click(object sender, EventArgs e)
{
birthdays.StepToPreviousPerson();
DisplayPeople();
}
【问题讨论】:
-
为什么不
btnNext.Enabled = birthdays.IsThereAnotherItem();并删除所有ifs? -
你如何“回到上一个项目”?你应该在这个函数/方法中也包含这个方法
-
@DmitryBychenko 相同的结果...(按钮在列表末尾禁用但不会再次启用)。
-
@MongZhu 更新了我的帖子
-
您使用 DisableButton() 来禁用和启用按钮 - 混淆命名。无论如何,您确定当用户单击“上一个”按钮时正在调用此函数吗?我在您发布的代码中没有看到。