我的程序是一个15x15网格来安排棒球比赛。
Public Class Form1
Dim aHomeTotal As Integer = 0
TXTaHomeTotal是第一列下方的文本框,代表该列中播放的游戏数量。
例如,第1列第2行复选框已编码:
Private Sub AB_CheckedChanged(sender As Object, e As EventArgs) Handles AB.CheckedChanged
If AB.Checked = True Then aHomeTotal = aHomeTotal + 1
If AB.Checked = False Then aHomeTotal = aHomeTotal - 1
我无法确定在哪里声明TXTaHomeTotal.Text = aHomeTotal。我不允许在公共类下执行它,我不能在文本框的TextChanged事件处理程序下使用它,因为该框将是只读的。我在哪里可以触发这个和/或我可以使用哪个事件处理程序?
答案 0 :(得分:1)
这就是我要做的事情:
1) Create a function TotalizeColumn(int ColNum)
2) Call that function every time a checkbox is clicked with the column index
3) In the function, itinerate between all the checkboxes on that column ans sumarize checked ones and totalize checks into a variable.
4) Set text for TXTaHomeTotal.Text with variable from point 3.
希望这有助于你
答案 1 :(得分:1)
ericpap的解决方案是一种很好的方式。
在更新大量元素时我喜欢做的是使用Timer
,间隔为100毫秒。如果您在需要更新的表单中有不同的元素,这将特别有用。
像这样实施;
Public Sub UpdateTimer_Tick(Sender As Object, e As EventArgs) Handles UpdateTimer.Tick
TXTaHomeTotal.Text = aHomeTotal
TXTaHomeTotal.Refresh
...
End Sub