C# 更改DataGridView C上的字体大小

C# 更改DataGridView C上的字体大小,c#,datagridview,fonts,C#,Datagridview,Fonts,我一直试图在从数据库获取的值中选择文本大小时,更改数据网格中文本的字体大小。到目前为止,我只成功地将网格中的文本更改为粗体或常规文本,并保持静态大小: GridName.DefaultCellStyle.Font = new Font("Arial",15.00F,FontStyle.Bold); 上面的代码可以工作,但是,我希望15.00F是可变的,我想从中提取的值存储在一个文本字符串中,我尝试将字体大小字符串转换为双精度,但它不允许我使用它作为字体大小。如何将字符串转换为可以替换上面的固定

我一直试图在从数据库获取的值中选择文本大小时,更改数据网格中文本的字体大小。到目前为止,我只成功地将网格中的文本更改为粗体或常规文本,并保持静态大小:

GridName.DefaultCellStyle.Font = new Font("Arial",15.00F,FontStyle.Bold);
上面的代码可以工作,但是,我希望15.00F是可变的,我想从中提取的值存储在一个文本字符串中,我尝试将字体大小字符串转换为双精度,但它不允许我使用它作为字体大小。如何将字符串转换为可以替换上面的固定字体大小的变量(如果有意义的话)

GridName.DefaultCellStyle.Font = new Font("Arial",varFontSize,FontStyle.Bold);
以上基本上就是我想要的,我只是不知道如何在varFontSize变量中获得有效的emSize


提前谢谢。

我想Blorgbeard会回答您的问题,该值需要为浮点类型。

字体构造函数需要浮点值

public Font(
    FontFamily family,
    float emSize,
    FontStyle style
)
为了将字符串解析为浮点,需要使用

float varFontSize= Single.Parse(value);
那你可以

GridName.DefaultCellStyle.Font = new Font("Arial",varFontSize,FontStyle.Bold);

尝试将其转换为浮点,而不是双精度。并确保字符串的结尾没有F-这只是代码中的文字。varFontSize是如何创建的?这可能就是问题所在。另外,使用浮点数,而不是双精度浮点数。@Blorgbeard钉住了它。如此简单却被我忽略了。非常感谢你!不是回答,只是+1他的评论