DataGridView不能聚焦,但是其中之一可以。

| 我遇到了与Windows窗体中的DataGridViews有关的最奇怪的错误。 我有一个TabControl,应该在每个标签页中包含一个停靠的DataGridView。我认为将网格集中在更改选项卡页面上会很方便,以便用户只需将鼠标悬停在网格上并在更改页面时开始滚动即可。因此,我只是在事件处理程序中放入“ 0”来更改选项卡页。 但是,确实发生了一些奇怪的事情。在我的测试应用程序中,我有三个标签页。如果我在启动应用程序后立即尝试滚动网格,则无法正常工作;我必须先单击网格。我期望如此。但是,如果更改选项卡页,除非单击第一个网格,否则我无法滚动其他网格! 因此,如果我将页面切换到第二页,然后又切换回第一页,则无需单击即可自动滚动该网格,但是如果我切换到第三页,则必须单击以使网格聚焦。 我看了一下网格的
CanFocus
属性,似乎只有第一个网格将其设置为True。它们都是以编程方式创建的,并且都以相同的方式创建。我不明白他们为什么会有所不同。 有任何想法吗?     
已邀请:
        不活动的标签页的Visible属性设置为false。 CanFocus的文档说:   为了让控件接收   输入焦点时,控件必须有一个   分配给它的句柄,以及可见   和Enabled属性必须都是   控件和控件均设置为true   所有其父控件     
        好吧,我解决了。我这是愚蠢的编程错误,我只有
grids[tabs.TabIndex].Focus()
而不是
grids[tabs.SelectedIndex].Focus()
。 那好吧。     

要回复问题请先登录注册