Я могу улучшить свою функцию, чтобы не искать по каждому элементу?Шрифт установлен? function
#Region " Font Is Installed? Function "
' [ Font Is Installed? Function ]
'
' Examples :
' MsgBox(Font_Is_Installed("Lucida Console"))
Private Function Font_Is_Installed(ByVal FontName As String) As Boolean
Dim AllFonts As New Drawing.Text.InstalledFontCollection
For Each Font As FontFamily In AllFonts.Families
If Font.Name.ToLower = FontName.ToLower Then Return True
Next
Return False
End Function
#End Region
UPDATE:
Хорошо, теперь я видел ".tolist" функцию, и теперь мой код выглядит так:
Private Function Font_Is_Installed(ByVal FontName As String) As Boolean
Dim AllFonts As New Drawing.Text.InstalledFontCollection
Dim FontFamily As New FontFamily(FontName)
If AllFonts.Families.ToList().Contains(FontFamily) Then Return True Else Return False
End Function
У меня есть один и тот же вопрос: лучше улучшается вторым способом, или я могу улучшить его лучше?
Спасибо, но у меня есть два небольших вопроса: во-первых: использование конца верно после возврата значения? Я буду иметь в виду, если «TestFont» действительно заканчивается/закрывается после «возврата» ?, а во-вторых: ваш способ не сравнивает каждый элемент? (извините, если это глупый вопрос) – ElektroStudios
вы только хотите проверить, установлен ли шрифт или нет, никогда не будет двух шрифтов с одинаковым именем, все в порядке с использованием конца, он все равно будет очищать объект из памяти –