Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/266.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# Windows Mobile应用程序中DataGrid的AutoSizeColumnsMode_C#_Datagridview_Windows Mobile_Compact Framework - Fatal编程技术网

C# Windows Mobile应用程序中DataGrid的AutoSizeColumnsMode

C# Windows Mobile应用程序中DataGrid的AutoSizeColumnsMode,c#,datagridview,windows-mobile,compact-framework,C#,Datagridview,Windows Mobile,Compact Framework,在Windows应用程序中,DataGrid有一个属性AutoSizeColumnsMode,用于确定可见列的自动大小模式 我正在使用.Net Framework 3.5开发Windows Mobile应用程序,DataGrid没有类似的属性 如何实现类似的功能?我没有尝试在单元格值更改时动态更改列宽,但我使用此方法从标题设置列宽。您可能需要添加额外的填充以获得最佳效果 private static int MeasureTextWidth(Control c, string text)

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

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


如何实现类似的功能?

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

    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属性来获取其宽度。以防万一你想走那条路

您是指.NET Compact Framework中的
DataGrid
类吗DataGridView类