2017-03-07 123 views
1

在我的表單上有一個TRadioGroup。在那TRadioGroup中,我添加了3個項目。現在我想在TRadioGroup中禁用三項中的一項。如何在RadioGroup中禁用三個RadioButton在我的表單上

我該怎麼做?我寫代碼...

TRadioButton(rgbLoadSurveyTypes.Controls[1]).Enabled := True; 

...但它給出錯誤「訪問衝突」。這個錯誤背後的原因是

rgbLoadSurveyTypes.Controls[1]null價值
rgbLoadSurveyTypes顯示ControlCount = 0
Item Count = 3

+0

我的用戶德爾福xe10 –

+0

在什麼時候,你執行這個代碼?如果OnForm創建按鈕可能還不存在。在這種情況下,執行代碼,例如,表單的OnResize或OnShow事件以確保控件存在。 – Dsm

+0

您是否在設計視圖中看到三個RadioButtons? –

回答

3

你必須使用按鈕屬性來訪問個人TRadioButton對象。

RadioGroup1.Buttons[0].Enabled:= false; 

Vcl.ExtCtrls.TCustomRadioGroup.Buttons

+0

rgbLoadSurveyTypes.Buttons [0] .Enabled:= false;此代碼給出錯誤「列表索引超出範圍」 –

+0

我將Delphi 2006中的代碼遷移到Xe10.1,是否需要更改RadioGroup屬性 –

+0

檢查您的TRadioGroup中是否有3個項目,並嘗試創建新的TRadioGroup在XE10.1沒有從Delphi 2006遷移代碼。它適用於我在XE10.1所以問題可能來自遷移... –

相關問題