代码之家  ›  专栏  ›  技术社区  ›  MaQleod

从组合框中获取字体并将其应用于richtextbox(vb.net)

  •  0
  • MaQleod  · 技术社区  · 16 年前

    我正在构建一个带有一些额外功能的单词板克隆。我正在尝试获取两个组合框(一个带有字体名称,另一个带有字体大小),以将其选定属性应用于RichTextBox中的选定文本。这是我最近的一次尝试,我想我已经接近尾声了,但是我仍然收到invalidCastException的一个错误-从字符串“”到类型“integer”的转换无效。

    Private Sub FontToolStripComboBox_DropDownClosed(ByVal sender As Object, ByVal e As System.EventArgs) Handles FontToolStripComboBox.DropDownClosed
        Dim ComboFonts As System.Drawing.Font
        ComboFonts = Pad.SelectionFont
        Pad.SelectionFont = New System.Drawing.Font(ComboFonts.Name(FontToolStripComboBox.SelectedText), Font.Size, Font.Style) '<--- this line is giving the exception for the FontToolStripComboBox.SelectedText entry'
        End Sub
    

    我不知道如何使用带有字体名称的组合框中的字符串将字体实际更改为该名称。

    2 回复  |  直到 16 年前
        1
  •  1
  •   xpda    16 年前

    试试这个。DropDownClosed事件使您始终落后于一个字体。另外,您应该在某处指定大小和样式。(也许这已经超出了你的职责范围?)

    Private Sub FontToolStripComboBox_SelectedIndexChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles FontToolStripComboBox.SelectedIndexChanged
      Dim ComboFonts As System.Drawing.Font
      ComboFonts = pad.SelectionFont
      pad.SelectionFont = New System.Drawing.Font(FontToolStripComboBox.Text, pad.SelectionFont.Size, pad.SelectionFont.Style)
    End Sub
    
        2
  •  0
  •   Wael Dalloul    16 年前

    替换这个

    FontToolStripComboBox.SelectedText
    

    用这个

    FontToolStripComboBox.text
    

    编辑: 因为selectedText表示在组合框的可编辑部分中选择的文本 检查 SelectedText at MSDN

    编辑:

    尝试更换:

     Pad.SelectionFont = New System.Drawing.Font(ComboFonts.Name(FontToolStripComboBox.SelectedText), Font.Size, Font.Style)
    

    用:

    Pad.SelectionFont = New System.Drawing.Font(FontToolStripComboBox.Text, Font.Size, Font.Style)