Benutzer mit den meisten Antworten
Visual Basic Installierte Schriften nutzen

Frage
-
Hallo ich habe einen Code erstellt der die Installierten Schriften ausliest und in einer Combobox anzeigt und eine zweite für die Schriftgröße das klappt auch alles soweit
If Not ToolStripComboBox3.Text.Equals("") AndAlso Not ToolStripComboBox4.Text.Equals("") Then RichTextBox1.SelectionFont = New Font(ToolStripComboBox3.Text, Convert.ToSingle(ToolStripComboBox4.Text))
dieser Code ist in der SelectedIndexChange hier in der ToolStripCombox3 erstellt.
Mein Problem ist wenn ich ich jetzt zum Beispiel Arial auswähle und Größe 12 macht er das, aber wenn ich jetzt den Text makiere und die Größe ändern will geht das nicht.
Der Code zum einlesen sieht so aus aber nicht wundern das ganze wir für mehre Comboboxen verwendet:
Dim fonts As New System.Drawing.Text.InstalledFontCollection()
Dim familie As FontFamily() = fonts.Families
For Each f As FontFamily In familie.Where(Function(family) family.IsStyleAvailable(FontStyle.Regular))
ToolStripComboBox1.Items.Add(f.Name)
ToolStripComboBox3.Items.Add(f.Name)
Next
For Each no As Integer In Enumerable.Range(8, 65)
ToolStripComboBox2.Items.Add(no)
ToolStripComboBox4.Items.Add(no)
Next
ToolStripComboBox1.SelectedIndex = 21
ToolStripComboBox2.SelectedIndex = ToolStripComboBox2.Items.IndexOf(12)
ToolStripComboBox3.SelectedIndex = 21
ToolStripComboBox4.SelectedIndex = ToolStripComboBox2.Items.IndexOf(12)
ToolStripComboBox1_SelectedIndexChanged(Nothing, Nothing)Vielleicht kann mir ja jemand helfen.
LG
Evan
Antworten
-
Hallo Evan,
wenn ich das richtig verstehe, ist Dein Problem folgendes:
1. Du markierts den Text und änderst die Schriftart und die Schriftgröße -> funktioniert
2. Du markierst den Text und änderst nur die Schriftgröße -> funktioniert nicht
da ich Deinen Code nur zum Teil sehe, würde ich mal sagen, dass Du diesen Teil Deines Codes:
If Not ToolStripComboBox3.Text.Equals("") AndAlso Not ToolStripComboBox4.Text.Equals("") Then RichTextBox1.SelectionFont = New Font(ToolStripComboBox3.Text, Convert.ToSingle(ToolStripComboBox4.Text))
nur im SelectIndexChanged event der ToolStripCombox3 ausführst, aber nicht im SelectedIndexChanged event der ToolStripComboBox4.Wenn Du den Code ( bzw. Aufruf einer Methode, in der dieser Code dann drin stecken sollte ) in den anderen event auch noch reinpackst wird zwar die methode 2x aufgerufen, aber dafür kannst Du auch die Schriftgröße separat einstellen.
Hannes
If you have got questions about this, just ask.
Mark the thread as answered if the answer helps you. This helps others who have the same problem !
C# to VB.NET: http://www.developerfusion.com/tools/convert/csharp-to-vb/- Als Antwort markiert Robert BreitenhoferModerator Montag, 10. Mai 2010 10:45
-
Hallo ich habe einen Code erstellt der die Installierten Schriften ausliest und in einer Combobox anzeigt und eine zweite für die Schriftgröße das klappt auch alles soweit
If Not ToolStripComboBox3.Text.Equals("") AndAlso Not ToolStripComboBox4.Text.Equals("") Then RichTextBox1.SelectionFont = New Font(ToolStripComboBox3.Text, Convert.ToSingle(ToolStripComboBox4.Text))
dieser Code ist in der SelectedIndexChange hier in der ToolStripCombox3 erstellt.
Mein Problem ist wenn ich ich jetzt zum Beispiel Arial auswähle und Größe 12 macht er das, aber wenn ich jetzt den Text makiere und die Größe ändern will geht das nicht.
Der Code zum einlesen sieht so aus aber nicht wundern das ganze wir für mehre Comboboxen verwendet:
Dim fonts As New System.Drawing.Text.InstalledFontCollection()
Dim familie As FontFamily() = fonts.Families
For Each f As FontFamily In familie.Where(Function(family) family.IsStyleAvailable(FontStyle.Regular))
ToolStripComboBox1.Items.Add(f.Name)
ToolStripComboBox3.Items.Add(f.Name)
Next
For Each no As Integer In Enumerable.Range(8, 65)
ToolStripComboBox2.Items.Add(no)
ToolStripComboBox4.Items.Add(no)
Next
ToolStripComboBox1.SelectedIndex = 21
ToolStripComboBox2.SelectedIndex = ToolStripComboBox2.Items.IndexOf(12)
ToolStripComboBox3.SelectedIndex = 21
ToolStripComboBox4.SelectedIndex = ToolStripComboBox2.Items.IndexOf(12)
ToolStripComboBox1_SelectedIndexChanged(Nothing, Nothing)Vielleicht kann mir ja jemand helfen.
LG
Evan
Habe antwort gefunden lag an der ToolStripComboBox 1 und 2, habe diese mit je einer ComboBox ersetzt und es ging, das einzige komische ist das die ToolStripComboBox in einen Contexmenü mit den Code funktioniert.LG Evan
- Als Antwort markiert Robert BreitenhoferModerator Montag, 10. Mai 2010 10:45
Alle Antworten
-
Hallo Evan,
wenn ich das richtig verstehe, ist Dein Problem folgendes:
1. Du markierts den Text und änderst die Schriftart und die Schriftgröße -> funktioniert
2. Du markierst den Text und änderst nur die Schriftgröße -> funktioniert nicht
da ich Deinen Code nur zum Teil sehe, würde ich mal sagen, dass Du diesen Teil Deines Codes:
If Not ToolStripComboBox3.Text.Equals("") AndAlso Not ToolStripComboBox4.Text.Equals("") Then RichTextBox1.SelectionFont = New Font(ToolStripComboBox3.Text, Convert.ToSingle(ToolStripComboBox4.Text))
nur im SelectIndexChanged event der ToolStripCombox3 ausführst, aber nicht im SelectedIndexChanged event der ToolStripComboBox4.Wenn Du den Code ( bzw. Aufruf einer Methode, in der dieser Code dann drin stecken sollte ) in den anderen event auch noch reinpackst wird zwar die methode 2x aufgerufen, aber dafür kannst Du auch die Schriftgröße separat einstellen.
Hannes
If you have got questions about this, just ask.
Mark the thread as answered if the answer helps you. This helps others who have the same problem !
C# to VB.NET: http://www.developerfusion.com/tools/convert/csharp-to-vb/- Als Antwort markiert Robert BreitenhoferModerator Montag, 10. Mai 2010 10:45
-
Hallo ich habe einen Code erstellt der die Installierten Schriften ausliest und in einer Combobox anzeigt und eine zweite für die Schriftgröße das klappt auch alles soweit
If Not ToolStripComboBox3.Text.Equals("") AndAlso Not ToolStripComboBox4.Text.Equals("") Then RichTextBox1.SelectionFont = New Font(ToolStripComboBox3.Text, Convert.ToSingle(ToolStripComboBox4.Text))
dieser Code ist in der SelectedIndexChange hier in der ToolStripCombox3 erstellt.
Mein Problem ist wenn ich ich jetzt zum Beispiel Arial auswähle und Größe 12 macht er das, aber wenn ich jetzt den Text makiere und die Größe ändern will geht das nicht.
Der Code zum einlesen sieht so aus aber nicht wundern das ganze wir für mehre Comboboxen verwendet:
Dim fonts As New System.Drawing.Text.InstalledFontCollection()
Dim familie As FontFamily() = fonts.Families
For Each f As FontFamily In familie.Where(Function(family) family.IsStyleAvailable(FontStyle.Regular))
ToolStripComboBox1.Items.Add(f.Name)
ToolStripComboBox3.Items.Add(f.Name)
Next
For Each no As Integer In Enumerable.Range(8, 65)
ToolStripComboBox2.Items.Add(no)
ToolStripComboBox4.Items.Add(no)
Next
ToolStripComboBox1.SelectedIndex = 21
ToolStripComboBox2.SelectedIndex = ToolStripComboBox2.Items.IndexOf(12)
ToolStripComboBox3.SelectedIndex = 21
ToolStripComboBox4.SelectedIndex = ToolStripComboBox2.Items.IndexOf(12)
ToolStripComboBox1_SelectedIndexChanged(Nothing, Nothing)Vielleicht kann mir ja jemand helfen.
LG
Evan
Habe antwort gefunden lag an der ToolStripComboBox 1 und 2, habe diese mit je einer ComboBox ersetzt und es ging, das einzige komische ist das die ToolStripComboBox in einen Contexmenü mit den Code funktioniert.LG Evan
- Als Antwort markiert Robert BreitenhoferModerator Montag, 10. Mai 2010 10:45