VB.NET: Как составить и применить шрифт к маркировке во времени выполнения?

РЕДАКТИРОВАНИЕ: ответ ниже был записан в начале 2009, когда Java 7 был очень все еще в движении.

, В то время как Java все еще не обеспечивает гарантии вокруг синхронизации завершения, он сделал , получают функцию как C# using оператор: оператор .

попытки с ресурсами

нет, Java не изменился вообще в этом отношении. Все еще необходимо использовать попытку/наконец.

было обсуждение добавления эквивалента оператора "использования" C# (который является синтаксическим сахаром по попытке/наконец) к Java, но я не думаю, что это будет частью Java 7 больше. (Большинство улучшений языка, кажется, было отброшено.)

стоит понять, что существуют причины, почему детерминированное разрушение не было реализовано в Java и.NET в форме считаемого на ссылку сборщика "мусора", между прочим - который a) влияет на производительность и b) перестало работать с циклическими ссылками. Brian Harry написал подробное электронное письмо об этом - это о.NET, и это довольно старо, но это определенно стоит близкого чтения.

7
задан Camilo Martin 29 August 2009 в 09:48
поделиться

1 ответ

Это должно решить проблему со шрифтом:

Label1.Font = New Drawing.Font("Times New Roman", _
                               16,  _
                               FontStyle.Bold or FontStyle.Italic)

Документация MSDN по свойству Font здесь

Возможная реализация функции, которая создает этот шрифт, может выглядеть следующим образом:

Public Function CreateFont(ByVal fontName As String, _
                           ByVal fontSize As Integer, _
                           ByVal isBold As Boolean, _
                           ByVal isItalic As Boolean, _
                           ByVal isStrikeout As Boolean) As Drawing.Font

    Dim styles As FontStyle = FontStyle.Regular

    If (isBold) Then
        styles = styles Or FontStyle.Bold
    End If

    If (isItalic) Then
        styles = styles Or FontStyle.Italic
    End If

    If (isStrikeout) Then
        styles = styles Or FontStyle.Strikeout
    End If

    Dim newFont As New Drawing.Font(fontName, fontSize, styles)
    Return newFont

End Function

Шрифты неизменяемы, это означает, что после создания они не могут быть обновлены. Поэтому все свойства только для чтения, которые вы заметили.

12
ответ дан 6 December 2019 в 21:17
поделиться
Другие вопросы по тегам:

Похожие вопросы: