none
Как в dataGridView сделать верхнию границу для ячейки RRS feed

Ответы

  • Подпишитесь на события CellPainting, CellEnter и CellLeave для dataGridView.

        int row, col; // индекс ячечейки, грацицу которой хотим изменить
        private void button2_Click(object sender, EventArgs e)
        {
          row = dataGridView1.CurrentCell.RowIndex;
          col = dataGridView1.CurrentCell.ColumnIndex;
          
          this.dataGridView1.Invalidate(); // перерисовываем
        }
    
        private void dataGridView1_CellPainting(object sender, DataGridViewCellPaintingEventArgs e)
        {
          if (e.ColumnIndex == col && e.RowIndex == row)
          {
            e.Paint(e.CellBounds, DataGridViewPaintParts.All); // рисуем полностью ячейку
            // рисуем линию вверху ячейки
            using (Pen p = new Pen(Color.Red, 1))
            {
              e.Graphics.DrawLine(p, 
                new Point(e.CellBounds.Left, e.CellBounds.Top), 
                new Point(e.CellBounds.Right-1, e.CellBounds.Top));
            }
            e.Handled = true;
          }
        }
    
        private void dataGridView1_CellEnter(object sender, DataGridViewCellEventArgs e)
        {
          this.dataGridView1.Invalidate();
        }
    
        private void dataGridView1_CellLeave(object sender, DataGridViewCellEventArgs e)
        {
          this.dataGridView1.Invalidate();
        }
    


    Для связи [mail]
    • Помечено в качестве ответа Abolmasov Dmitry 10 декабря 2010 г. 7:43
    8 декабря 2010 г. 7:13