我非常新的這一切,並同時我試圖尋找我無法找到任何東西,幫助我實現我追求的。獲得的所有複選框中的一個TabControl文本字符串
我在VB一個窗體具有以下:
1×的tabcontrol 10×複選框,其坐在各個選項卡上的標籤控制 1×列表框
在i剔任何的複選框,我希望他們的文本被添加到列表框中,當我解開時,他們的文本將從列表框中獲取。
我可以非常容易地使用每個複選框的changedcheck事件的if語句來實現這一點,但我必須爲每個複選框都這樣做,因爲這可能會導致20,30個40+的複選框。另外,如果我在稍後階段添加一個,我將不得不記得添加它的代碼。
理想的情況下,我想這是一個方法,說:您在TabControl的所有複選框,如果有值爲true寫他們的文本字符串,如果值是假的,採取從字符串有文字。把該字符串放在列表框中。
我開始用這樣的事情...
Dim chk As CheckBox
Dim txt As String = ""
For Each chk In TabControl1.Controls
If chk.Checked = True Then
txt = txt + chk.Text +vbCrLF
Else
txt = replace(txt, chk.text + vbCrLf, "")
End If
Next
End Sub
第一個問題是,上面顯然是行不通的!所以任何指導表示讚賞 - 我把它從閱讀其他代碼的廢料放在一起。
第二個問題是,我無法得到我的頭如何列表框將被更新,因爲以前我使用每個控件的CheckedChanged事件,如果我做我想做的事,那麼不會是一個具體的CheckedChanged事件,因爲它可能是任何複選框(希望這是有道理的!)。我不希望有按一個按鈕,將選中的複選框添加到列表框,我希望它是動態的
任何幫助是非常讚賞。
非常感謝@jacob謝列茲尼奧夫的響應,我可以看到你已經完成了TypeOf,但由於我的tabcontrol中的所有控件總是複選框,我不會認爲它需要它? - 雖然我會把你的話當作明確的不知道更好的!不幸的是,我得到使用修改後的代碼時,下面...經過」不是成員‘System.Windows.Forms.Control的’。這可能是我應該知道的非常基本的東西,你能指出我正確的方向嗎?再次感謝 – 2012-07-21 09:52:08
@StephenDraper您需要強制類型轉換CHK到複選框。看到我編輯的答案。 – 2012-07-21 10:19:53