Ошибка: шрифт свойства только для чтения в Asp.Net - PullRequest
0 голосов
/ 29 октября 2011

Я действительно теряю контроль над этой маленькой проблемой и не могу ее исправить?

Может ли кто-нибудь помочь мне в этом!

Вот мой код:

Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
    Dim installed_fonts As New InstalledFontCollection
    lstFont.Items.Clear()
    For Each font_family As FontFamily In installed_fonts.Families
        lstFont.Items.Add(font_family.Name)
    Next font_family
    lstFont.SelectedIndex = 0
End Sub

 Private Sub txtSize_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles txtSize.TextChanged, chkBold.Click, chkItalic.Click, chkUnderline.Click, chkStrikeout.Click, lstFont.SelectedIndexChanged
        ShowSample()
    End Sub

Private Sub ShowSample ()

' Compose the font style.
Dim font_style As FontStyle = FontStyle.Regular
If Bold.Checked Then font_style = font_style Or FontStyle.Bold
If Italic.Checked Then font_style = font_style Or FontStyle.Italic
If Underline.Checked Then font_style = font_style Or FontStyle.Underline


' Get the font size.
Dim font_size As Single = 8
Try
    font_size = Single.Parse(DropFontSize.SelectedValue)
Catch ex As Exception
End Try

' Get the font family name.
Dim family_name As String = DropFont.SelectedIndex.ToString
If Not (DropFont.SelectedItem Is Nothing) Then
    family_name = DropFont.SelectedItem.ToString
End If
' Make the new font.
Dim new_font As New Font( _
    family_name, font_size, font_style)

' Set the sample's font.
TextBox1.Font.Name = new_font.Name
TextBox1.Font.Size = font_size
TextBox1.Font.Bold = Bold.Checked
TextBox1.Font.Italic = Italic.Checked
TextBox1.Font.Underline = Underline.Checked

End Sub

Я получаю, так как шрифт Property доступен только для чтения, и я пробовал много фрагментов, чтобы избавиться от этой проблемы, но ни один не помог!

Ответы [ 2 ]

1 голос
/ 29 октября 2011

Вы должны установить, как показано ниже, Свойство WebControl.Font только для чтения

Private Sub ShowSample()
    .....
    Dim new_font As New Font( _
        family_name, font_size, font_style)

    ' Set the sample's font.
    txtSample.Font.Name = new_font.Name
    txtSample.Font.Size = Font.Size
    txtSample.Font.Bold = chkBold.Checked
    txtSample.Font.Italic = chkItalic.Checked
    txtSample.Font.Underline = chkUnderline.Checked
    txtSample.Font.Strikeout= chkStrikeout.Checked

End Sub
0 голосов
/ 29 октября 2011

Поскольку свойство является только для чтения, согласно определению из MSDN :

Public Overridable ReadOnly Property Font As FontInfo
Get

Вам необходимо установить свойства Font, например Name.

txtSample.Font.Name = new_font.Name
...