gpt4 book ai didi

c# - 什么时候 Control.Visible = true 变成了 false?

转载 作者:太空狗 更新时间:2023-10-29 19:57:31 26 4
gpt4 key购买 nike

我有一个 C# WinForms 项目,它的功能非常像向导。各个步骤位于一个名为 StepPanel 的类中,该类继承自 Panel 控件,在表单中,这些面板组织在一个数组中。

我遇到的是,当调用 UpdateUI() 并遍历数组、调整当前步骤的向导步骤标题文本时,它确保隐藏所有非事件步骤,并确保事件步骤台阶可见,位置正确,大小合适。

代码如下:

    private void UpdateUI()
{
// If the StepIndex equals the array length, that's our cue
// to exit.
if (StepIndex == Steps.Length)
{
Application.Exit();
return;
}

for (var xx = 0; xx < Steps.Length; xx++)
{
if (xx == StepIndex)
{
if (!String.IsNullOrEmpty(Steps[xx].Title))
{
LabelStepTitle.ForeColor = SystemColors.ControlText;
LabelStepTitle.Text = Steps[xx].Title;
}
else
{
LabelStepTitle.ForeColor = Color.Red;
LabelStepTitle.Text =
Resources.UiWarning_StepTitleNotSet;
}
}
else
{
Steps[xx].Visible = false;
}
}

Steps[StepIndex].Top = 50;
Steps[StepIndex].Left = 168;
Steps[StepIndex].Width = 414;
Steps[StepIndex].Height = 281;
Steps[StepIndex].Visible = true;

SetNavigationButtonState(true);
}

说完一切后,Steps[StepIndex].Visible == false。

我仍然对这种行为感到困惑,因为我在不到 30 分钟前工作。

最佳答案

如果您将父控件/容器控件设置为 Visible = false,那么将任何子控件设置为 Visible = true 将不会有任何效果。子控件的 Visible 属性仍将是 false

我不知道在这种情况下是否会发生这种情况,因为我不知道控件的结构,但这似乎是一种可能的情况。

要解决此问题,您需要先将父/容器控件设置为 Visible = true,然后再设置子控件。

关于c# - 什么时候 Control.Visible = true 变成了 false?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6061535/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com