从右到左数据网格视图单元格



如何将属性 RightToLeft 插入到 DatagridviewCell?我尝试设置

将属性对齐到"中间右侧",但由于我的数据网格视图单元格值是

阿拉伯语和英语 它没有按照我想要的从右到左显示。

我找到了Cell_Painting事件的解决方案,并且它有效。这是代码:

private void dataGridView1_CellPainting(object sender, DataGridViewCellPaintingEventArgs e)
    {
        if (e.ColumnIndex == 2 && 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;
        }
    }

要正确使用从右到左的语言,您应该设置 CSS 样式 rtl。例如:

private void CustomizeCellsInThirdColumn()
{
    int thirdColumn = 2;
    DataGridViewColumn column =
        dataGridView.Columns[thirdColumn];
    DataGridViewCell cell = new DataGridViewTextBoxCell();
    cell.Style.Direction = "rtl";
    column.CellTemplate = cell;
}

有关更多信息,请阅读 CSS 方向属性和 DataGridViewCell.Style 属性

方向:RTL;

相关内容

  • 没有找到相关文章

最新更新