有没有办法使TRadioGroup组件中的某个选项不可见?(Delphi 7)
我认为更语义化的做法是使用 Buttons[]
属性,所以
RadioGroup.Buttons[Index].Visible := False
从可用性角度考虑,禁用(Enabled := False
)而不是隐藏更好。
RadioGroup1.Controls[...].Visible := False;
从TRadioGroup.Items
属性中删除所需的字符串:
RadioGroup1.Items.Delete(IndexHere);
如果你想保留单选按钮组中字符串/项(可见或不可见)的ItemIndex,你需要将它们存储在其他地方。因此,声明一个TStringList来单独保存所有单选按钮组项。然后,在单选按钮组选择后,在该字符串列表中查找索引。类似这样:
RadioGroup: TRadioGroup;
AllRadioItems: TStringList;
fill both... ect
RealIndex := AllRadioItems.IndexOf(RadioGroup.Items[RadioGroup.ItemIndex]);
有一点额外的开销,但简单易懂...