wykorzystanie tablicy FontStyl w pętli

0

Napislaem kawalek programu ktory ma wyswietlac wszystkie zainstalowane czcionki w panelu (ma sie wyswietlac nazwa czcionki ta wlasnie czcionka i kazda nastepna ma byc w innym stylu i kolorze ) jak na razie wyswietla mi tylko wszystki czcionki.
potrzebuje zeby byly jeszcze rozne style i kolory pomoze ktos??

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Drawing.Text;

using System.Linq;
using System.Text;
using System.Windows.Forms;

namespace WindowsFormsApplication8
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }


        private void button1_Click(object sender, EventArgs e)
        {
            Graphics g = panel1.CreateGraphics();
            try
            {
                int x = 20;
                int y = 20;
                InstalledFontCollection zF = new InstalledFontCollection();
                FontFamily[] rC=zF.Families;
                                            
                int j=0,i=0,k=0;
                                                             
                    for (j = 0; j < rC.Length; ++j)
                    {
                        
                         Font czcionka = new Font(rC[i].Name, 10,FontStyl.Underline);   // tutaj zamiast FontStyl.Underline chcialbym zastosowac tablice ze wszystkimi stylami ale nie wiem jak to zrobic     
                        g.DrawString(rC[j].Name, czcionka, Brushes.Black, x, y);
                        y = y + 15;                       
                        i++;         
                        k++;                        
                    }
                Console.Read();
            }
            finally
            {
                g.Dispose();
            }
        }
    }
}

Ma to wygladac tak...
user image

0

Ja tylko ostrzegę, że to co chcesz zrobić skutkuje wyciekiem pamięci, bo Windows tak działa, że raz załadowanego fontu nie da się w ramach tego procesu już wyładować. Twój program może zająć dużo RAM-u jeśli użytkownik będzie miał wiele fontów.

0

cały Twój kod działa i wyświetla wszystkie czcionki w różnych stylach, tyle że warto dodać sobie try i catch w których będziesz wyświetlał błąd, ja na samym początku dostałem błąd że jakiejś tam czcionki nie może wyświetlić bo styl "Regular" dla niej nie jest dostępny.

0

Przecież program wyświetla tylko same czcionki a trzeba jeszcze zrobić aby pierwszy był zwykły drugi pogrubiony trzeci kursywa itd. i jak się style kończą to żeby leciały od nowa i jeszcze żeby każda była w innym kolorze :)

1 użytkowników online, w tym zalogowanych: 0, gości: 1