[Flags]
довольно удобно. Синтаксический сахар, чтобы быть уверенным, но все еще довольно хорошим.
[Flags]
enum SandwichStuff
{
Cheese = 1,
Pickles = 2,
Chips = 4,
Ham = 8,
Eggs = 16,
PeanutButter = 32,
Jam = 64
};
public Sandwich MakeSandwich(SandwichStuff stuff)
{
Console.WriteLine(stuff.ToString());
// ...
}
// ...
MakeSandwich(SandwichStuff.Cheese
| SandwichStuff.Ham
| SandwichStuff.PeanutButter);
// produces console output: "Cheese, Ham, PeanutButter"
Leppie указывает на что-то, что я не понял, и которое скорее ослабляет мой энтузиазм по поводу этого атрибута: это делает не , дают компилятору команду позволять наборы двоичных знаков как допустимые значения для переменных перечисления, компилятор позволяет это для перечислений независимо. Мой фоновый показ C++ через... вздох
Это прямо из google :
В DataGridView выбранная строка и текущая строка (обозначены стрелка в заголовке строки) не может быть той же самой строкой. Кроме того, мы могли выберите несколько строк в DataGridView, но текущая строка может быть только одной ряд. Когда для свойства SelectionMode DataGridView установлено значение FullRowSelect, текущая строка будет всегда выбираться. Если вы хотите изменить текущую строку в элементе управления DataGridView, вы можете установить свойство CurrentCell
dataGridView1.CurrentCell = dataGridView1.Rows[1].Cells[0];
. Если вы хотите просто изменить выбранную строку, вы можете установить Selected свойство строки, для которой требуется значение true.
dataGridView1.CurrentRow.Selected = false;
dataGridView1.Rows[1].Selected = true;
Чтобы ответить на вторую часть вашего вопроса, убедитесь, что вы установили стиль заголовка для центрирования столбца.