The implementation, AFAIK, “all this” - it uses:
((this.State & elementState) == elementState);
What is "everything." If you want to write "any", perhaps add a helper method: (add "this" to DataGridViewColumnCollectionto make it an extended C # 3.0 method)
public static DataGridViewColumn GetFirstColumnWithAny(
DataGridViewColumnCollection columns, // optional "this"
DataGridViewElementStates states)
{
foreach (DataGridViewColumn column in columns)
{
if ((column.State & states) != 0) return column;
}
return null;
}
Or with LINQ:
return columns.Cast<DataGridViewColumn>()
.FirstOrDefault(col => (col.State & states) != 0);
source
share