如何检查字体是否支持特定样式

Dan*_*lba 5 .net c# fonts winforms

我在更改应用程序字体时遇到以下异常,因为我在应用程序的一部分中使用了删除操作,而某些字体不支持它:

在此输入图像描述

我使用字体对话框更改我的应用程序字体.在将其分配给我的应用程序后,我需要检查所选字体是否支持删除线样式.

建议的方法是什么?我知道我可以使用样式创建一个字体并捕获异常,但有更优雅的方法吗?

提前致谢.


编辑:用户选择字体,而不是必要的删除线.在那一刻,我需要检查字体是否支持样式删除线,因为我在应用程序的一部分中创建了三角形字体.如果字体不支持删除线样式,则不允许用户选择该字体.

Dan*_*lba 0

最后我使用了以下内容:

    private bool SupportStrikeout(Font font)
    {
        try
        {
            using (Font strikeout = new Font(font, FontStyle.Strikeout))
            {
                return true;
            }
        }
        catch (ArgumentException)
        {
            return false;
        }
    }
Run Code Online (Sandbox Code Playgroud)