2012-07-25 71 views
0

我們的鏈接按鈕中有一個菜單欄。我添加了一個包含單選按鈕和複選框的子項目的項目。如果用戶在表單上和菜單欄中選擇一個單選按鈕,他們選擇一個複選框項目,那麼它應該轉換爲複選框控件,包括其所有屬性,例如前顏色,後顏色字體大小,字體樣式等。將RadioButton控件轉換爲c中的複選框控件#

所以你可以請在表單運行期間幫助我將單選按鈕控件轉換爲複選框控件。

+0

有沒有解決這篇文章的問題 – user1537630 2012-07-25 10:52:24

回答

2

RadioButton控件不能轉換爲Checkbox控件,因爲它們不在繼承層次結構中。

不過,如果你需要做的是,你可以創建一個Checkbox控制複製是常見的,則屬性,你需要重複使用,然後切換其可見性:

private CheckBox GetCheckboxFromRadioButton(RadioButton radioButton) 
    { 
     CheckBox result = new CheckBox(); 
     //copy text 
     result.Text = radioButton.Text; 
     //copy colors 
     result.BackColor = radioButton.BackColor; 
     result.ForeColor = radioButton.ForeColor; 
     //copy checked state 
     result.Checked = radioButton.Checked; 
     //copy parent container 
     result.Parent = radioButton.Parent; 
     //copy size and location 
     result.Bounds = radioButton.Bounds; 
     //copy layout behavior 
     result.Dock = radioButton.Dock; 
     result.Anchor = radioButton.Anchor; 
     //enabled property 
     result.enabled = radioButton.Enabled; 
     // copy other properies you need here 
     //... 
     return result; 
    } 
+0

並切換它們的可見性 – Ria 2012-07-25 10:57:44

0

您可以創建你自己的功能

CheckBox ConvertControl(RadioButton rb) 

並實現複選框創建與您需要的每個屬性初始化。由於控件是不同的,它們有一些不可能自動轉換的特性 - 你應該規定它們應該如何明確地被引用。