2013-09-23 44 views
0

我有一个主要的Winform承载一个UserControl。用户控件托管各种其他控件,包括文本框,按钮和网格。我一直在使用UserControl.ActiveControl.Name来确定当前活动控件的名称。这大多运作良好。ActiveControl.Name有时会返回空字符串

但是,有时,我得到的是空字符串而不是实际的控件名称。我的网格有1个可编辑的列,我的感觉是,它与此有关。我的意思是,当我处于editmode时,即使网格是主动控件,我也会获得activecontrol名称的空字符串。为什么?

使用:VS2012,.NET 4.0

感谢您的帮助

回答

1

假设你正在使用一个DataGridView;当您处于编辑模式时,会添加一个没有名称的控件。所以这个名字是空白的,但是这个控件不是null,所以这里有一个有效的控件。如果您查看控件上的AccessibleName属性,您将看到“编辑控件”的值。

+0

好的,我检查了这一点,你在按钮上。好东西在这里。是的,它是一个DataGridView,并且你也证实了我对这个与网格列中的编辑控件有关的假设。 –