Windows Mobile应用程序中DataGrid的AutoSizeColumnsMode

时间:2014-02-13 13:10:34

标签: c# datagridview windows-mobile compact-framework

在Windows应用程序中,DataGrid有一个属性AutoSizeColumnsMode,它确定可见列的自动大小模式。

我正在使用.Net Framework 3.5开发Windows Mobile应用程序,DataGrid没有类似的属性。

如何实现类似的功能?

1 个答案:

答案 0 :(得分:0)

我没有尝试在单元格值更改时动态更改列的宽度,但我使用此方法从标题设置列宽。您可能需要添加额外的填充以获得最佳结果

    private static int MeasureTextWidth(Control c, string text)
    {
        if (c == null)
        { return -1; }
        using (Graphics g = c.CreateGraphics())
        {
            return (int)Math.Ceiling(g.MeasureString(text, c.Font).Width);
        }
    }

编辑:额外注意我已尝试通过使用我自己的逻辑覆盖列上的Width属性来为列实现自动宽度功能。不幸的是,似乎DataGridColumn不使用Width属性来获取其宽度。只是因为你正在考虑走这条路。