我正在构建一个带有额外功能的字垫克隆。我试图获得两个组合框(一个具有字体名称,另一个具有字体大小)以将其选定的属性应用于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
我无法弄清楚如何使用组合框中的字符串和字体名称来实际将字体更改为该名称。
答案 0 :(得分:1)
试试这个。 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
答案 1 :(得分:0)
替换此
FontToolStripComboBox.SelectedText
用这个
FontToolStripComboBox.text
编辑: 因为SelectedText表示在ComboBox的可编辑部分中选择的文本 检查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)