2014-01-27 315 views
0

我一直试图在选择从数据库中提取的值的文字大小来改变数据网格中的文本的字体大小。到目前为止,我只设法改变文本的网格内的要么是大胆或定期,是静态的大小:更改字体大小上的DataGridView C#

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

上述工程的代码,但是,我希望“15.00F”是可变的,我想从中拉出它的值存储在一个文本字符串中,我试图将字体大小(字符串)转换为双精度,但它不让我用它作为字体大小。如何将字符串转换,我可以替代上述固定字体大小(如果是有道理的)的变量。

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

上面实质上是我以后,我只是不知道如何在varFontSize变量中获得有效的emSize。

预先感谢您。

+3

尝试将它转换的浮动到'浮动',而不是双倍。并确保字符串没有在年底'F' - 这是只有在代码中文字。 – Blorgbeard

+2

是如何varFontSize正在创建?这可能是问题。此外,使用浮动,而不是双。 –

+0

@Blorgbeard钉它。这么简单,但我自己却忽略了。非常感谢! – MrDKOz

回答

1

的字体构造函数需要一个浮点值

public Font(
    FontFamily family, 
    float emSize, 
    FontStyle style 
) 

为了解析字符串转换成你需要使用

float varFontSize= Single.Parse(value); 

然后你可以

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

我想Blorgbeard回答你的问题,价值需要在浮动类型。

+1

不是一个答案,只是+1他的评论 – KSdev