Так вы получаете все системные шрифты ...
System.Drawing.Text.InstalledFontCollection fonts = new System.Drawing.Text.InstalledFontCollection();
for (int i = 0; i < fonts.Families.Length; i++)
{
Console.WriteLine(fonts.Families[i].Name);
}
Затем я бы разработал пользовательский элемент управления для вашего средства выбора шрифтов и сделал его видимым из события MouseRightButton_Down вашей кнопки.