none
Visual Basic Installierte Schriften nutzen RRS feed

  • 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

    Dienstag, 4. Mai 2010 10:43

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/
    Dienstag, 4. Mai 2010 11:36
  • 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

    Dienstag, 4. Mai 2010 11:44

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/
    Dienstag, 4. Mai 2010 11:36
  • 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

    Dienstag, 4. Mai 2010 11:44