如何为 DataGridViewColumn 中的特定 DataGridViewCell 设置 RightToLeft 属性?

最佳答案

我知道这是一个老问题,但正如其他人所说,DataGridViewCellDataGridViewColumn 没有 RightToLeft 属性。但是,有解决此问题的方法:

  • 处理 CellPainting 事件并使用 TextFormatFlags.RightToLeft 标志:
    private void RTLColumnsDGV_CellPainting(object sender, DataGridViewCellPaintingEventArgs e)
       {
          if (e.ColumnIndex == RTLColumnID && e.RowIndex >= 0)
          {
             e.PaintBackground(e.CellBounds, true);
              TextRenderer.DrawText(e.Graphics, e.FormattedValue.ToString(),
              e.CellStyle.Font, e.CellBounds, e.CellStyle.ForeColor,
               TextFormatFlags.RightToLeft | TextFormatFlags.Right);
              e.Handled = true;
           }
       }

    (代码取自 CodeProject question 。)
  • 如果DGV中只有一个特定的单元格,您可以尝试在单元格内容的开头插入不可见的RTL character(U+200F)。
  • 关于c# - 如何在 DataGridViewCell 中设置字符串的方向?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/5026417/

    10-10 01:22