2017-02-17 19 views
0

Я пытаюсь получить доступ к пути .otf от appSettings, но он возвращает null. Путь работает, когда я использую его статически.Чтение пути OTF из файла конфигурации

Файл конфигурации:

<add key="MetropolisBold" value="MetropolisBold.otf"/> 

Код:

Dim metropolisBold As String = ConfigurationManager.AppSettings("MetropolisBold") 

chart.ChartAreas(0).AxisX.LabelStyle.Font = SetFontFamily(metropolisBold) 

Private Function SetFontFamily(ByVal fontFamily As String) As Font 
    Dim privateFonts As New Text.PrivateFontCollection() 
    privateFonts.AddFontFile(fontFamily) 
    Dim font = New Font(privateFonts.Families(0), 24, FontStyle.Regular) 

    Return font 
End Function 

Любые советы о том, почему он не работает или то, что я должен делать?

Update:

Мой код сделал работу, но я забыл поставить значения в правом app.config. Извините за мою ошибку новобранец, и я ценю все усилия.

+2

Что возвращает нуль? Вызов приложения AppSettings или вызов New Font? – ADyson

+0

Параметр содержит имя файла, но 'SetFontFamily' ожидает имя шрифта. –

+0

AppSettings возвращает null @ADyson – Kasra

ответ

-2

Попробуйте это:

System.Configuration.ConfigurationManager.AppSettings["MetropolisBold"].ToString(); 
+2

хотя бы поместить свой ответ на нужный язык – ADyson

+0

'AppSettings [" MetropolisBold "]' возвращает строку уже –

1

Чтобы получить Value из ConfigurationManager использовать следующий код:

ConfigurationManager.AppSettings.Item("MetropolisBold").ToSt‌​ring() 

В вашем примере это будет выходной MetropolisBold.otf.

Это скриншот моего кода, показывающий значение:

enter image description here