我有这个包含GroupBox的表单,在这个GroupBox中有一些标签和一个CheckBox。 CheckBox在设计时设置为' Checked ',这意味着它加载默认为' Checked '。因此,当创建此表单的新实例时,该复选框的CheckChanged事件将在Form的Load事件之前触发。标签的文本值取决于是否选中复选框。
这是在CheckChanged事件中的复选框,它在Form的Load事件之前触发:
If chkUseAsFull.Checked Then
fraHalf.Text = "Full Spacing"
lblLitHalfSpacing.Text = "Spacing"
lblLitHalfSpeed.Text = "Speed"
txtHalfSpacing.Text = txtSpacing.Text
txtHalfSpacing.Enabled = False
cmdAdjustHalf.Enabled = False
Else
fraHalf.Text = "Half Spacing"
lblLitHalfSpacing.Text = "1/2 Spacing"
lblLitHalfSpeed.Text = "1/2 Speed"
txtHalfSpacing.Text = Format(spc, "##0.00")
txtHalfSpacing.Enabled = True
cmdAdjustHalf.Enabled = True
End If
fraHalf
是组框,lblLitHalfSpacing
和lblLitHalfSpeed
是其中的标签。请注意,在设计时,组框和标签的文本值是未选中复选框时指定的值。
但是当我启动此表单时,组框的文本是“全间距”,但标签的文本是“1/2间距”和“1/2速度”。
为什么组框的文本会根据复选框的选中值正确显示,但不会显示这些标签的文本?
答案 0 :(得分:0)
不要依赖设计师为您运行代码。有可能标签正在发生变化,但设计师可能会在以后的代码中将它们更改回原来的属性。这意味着如果您知道默认选中,则应在该默认模式下创建标签。或者在加载事件中,您可以自己调用
fraHalf_CheckChanged(fraHalf, EventArgs.Empty)