2010-01-08 484 views
1

我有一個WinForms應用程序(VS 2008,.NET 3.5),它有兩個不同的組框,每個組框中有不同的單選按鈕組。當我運行該應用程序時,第一個組框自動具有已選中的第一個單選按鈕,而第二個組框沒有默認選中的單選按鈕。在一個組框中選擇VB.NET默認單選按鈕

我已經查看了單選按鈕和組框的所有屬性,但無法弄清楚兩者之間的區別。我希望兩個分組框在第一次打開表單時都可以取消選中所有單選按鈕。

另外,我查看了表單的Designer.vb文件,並找不到任何不尋常的內容。

+0

在設計器中,它們都顯示爲未選中狀態,並檢查每個屬性(但特別是第一個組框中的第一個屬性),它們顯示爲Checked false。 – 2010-01-08 22:02:10

+0

通過說複選框是「選中」,你的意思是「檢查」?對不起,如果這沒什麼幫助,但是如果你在設計器中打開你的表單,並且你查看所有複選框的「Checked」屬性,它們是否都設置爲False? – stakx 2010-01-08 21:54:02

回答

5

我也有過這個問題。我只是手動將所有RadioButton對象設置爲Form_Shown事件中的.Checked = False。請注意, Form_Load事件後它必須是,否則它將不起作用,並且RadioButton將設置爲默認值。

爲什麼?我不知道。也許是VB.NET中的一個錯誤。

0

您需要爲這兩個廣播組分配不同的名稱。這可能不是你的問題,但這是一個可能的原因。

我很好奇你爲什麼要讓收音機默認沒有任何價值。收音機表示布爾值 - 真或假 - 沒有其他有效的狀態。

+0

我掛鉤了單選按鈕的CheckedChanged事件,它根據用戶選擇的內容觸發附加事件。由於第一個單選按鈕是人爲地被選中的,所以這些事情中有一些是在他們應該做的之前發生的。 – 2010-01-08 22:05:25

5

將所有按鈕的AutoCheck屬性設置爲False。您現在必須爲它們編寫一個Click處理程序來設置它們的Checked屬性。一個樣品處理程序,照顧其中兩個:

Private Sub RadioButton_Click(ByVal sender As Object, ByVal e As EventArgs) _ 
     Handles RadioButton1.Click, RadioButton2.Click 
    Dim button As RadioButton = DirectCast(sender, RadioButton) 
    RadioButton1.Checked = button is RadioButton1 
    RadioButton2.Checked = button Is RadioButton2 
    End Sub 
2

如果您的最低製表索引是一個單選按鈕,並且您將AutoCheck設置爲True,那麼當表單加載並將活動元素設置爲最低Tab鍵索引時,它的行爲就好像您單擊了單選按鈕,跳閘自動檢查並因此檢查單選按鈕。只需在Tab索引爲0的表單上另一個控件即可。

0

RadioButton1.checked = False Under Form_Activated works。

0

我有這個問題,並使Autocheck = false,伎倆。 和YES的RadioButton1是TAB = 0

三江源

0

設置自動檢查所有的單選按鈕,這兩個羣體「假」。將它們全部設回「真」。 這對我有用。 我也不得不將第一個按鈕勾選(選中)後,第二個按鈕纔會打好。