我在表单加载事件中看到一些奇怪的行为。一切正常,直到我运行一个For
循环。在Next
行之下的任何代码都不会触发。我没有得到任何错误,表单只是像每一件好东西一样加载,但它忽略了这些行。我已在循环的上方和下方放置了一个msgbox("test")
以确认此行为。代码在'For'循环后跳过
Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
'Do some form loading stuff
msgbox("test1") 'This will Fire
For i = 0 To DataGridView1.Columns.Count
DataGridView1.Columns(i).SortMode = DataGridViewColumnSortMode.NotSortable
Next
msgbox("test2") 'This wont fire
End Sub
我可以只把循环的形式负载的底部,解决这个问题,但它的错误我不明白为什么会这样。
编辑:进一步测试后,我发现,如果我只是运行FOR循环而不改变排序模式,那么test2的messagebox就会触发。如果我注释sortmode行一切正常。有关在循环中设置分类模式的问题阻止了其他代码的运行。
P.S.如果有人知道一个更好的方式来创建一个数据绑定datagridview与额外的列不排序我全部耳朵。
你的for循环应该是“对于我= 0到DataGridView1.Columns.Count-1”我敢肯定你有一个异常,不被捕获。 –