使属性在DataGridView中可见但在PropertyGrid中不可见?假设我有一个属性,我想在DataGridView中显示,但是当同一对象显示在PropertyGrid中时,它却没有。我知道我可以使用[Browsable(false)],但它隐藏在两个视图中。我也可以做一个gridView.Columns["blah"].Visible=false;,但这与我想要的相反,因为它隐藏在DataGridView而不是PropertyGrid中。有没有办法反过来做?(而不是创建一个全新的DataTable只是为了保持相同的数据减去一个字段,然后将所有内容重新绑定到那个字段-这确实是一种笨拙的做事方式。)或者,我可以使用列的解决方案添加到DataGridView并没有出现在实际的课堂上。这个问题可以通过使用PropertyGrid的BrowsableAttributes属性来解决。首先,像这样创建一个新属性:publicclassPropertyGridBrowsableAttribute:Attribute{privateboolbrowsable;publicPropertyGridBrowsableAttribute(boolbrowsable){this.browsable=browsable;然后将此属性添加到要在PropertyGrid中显示的所有属性:[DisplayName("FirstName"),Category("Names"),PropertyGridBrowsable(true)]publicstringFirstName{get{return...}set{...}}然后像这样设置BrowsableAttributes属性:myPropertyGrid.BrowsableAttributes=newAttributeCollection(newAttribute[]{newPropertyGridBrowsableAttribute(true)});这将仅显示属性网格中的属性属性,并且DataGridView仍然可以访问所有属性,只是需要更多的编码工作。我仍然会使用Tergiver并将此行为称为错误,因为Browsable属性的文档明确指出它仅适用于属性窗口。(感谢用户“maro”,网址为http://www.mycsharp.de/wbb2/thread.php?postid=234565)以上是C#学习教程:使属性在DataGridView中可见但在PropertyGrid中不可见?如果所有分享的内容对你有用,需要进一步了解C#学习教程,希望大家多多关注。本文收集自网络,不代表立场。如涉及侵权,请点击右侧联系管理员删除。如需转载请注明出处:
