2011-08-15 4 views
0

私はC#アプリケーションを開発しました。今ではメニューを追加し、どのフォントをどのフォントから選択するかを選択できるようにしたいと思います。私のメニューバーには、フォントを追加してから、そのメソッドに次のものを追加しました。私はネット上でこれが動作することを読んでいた。しかし、私はFontSelectorを取得している/フォントは現在のコンテキストに存在しません。これを得るために追加する必要があるディレクティブを使用していますか?それは誰でも知っていますか?メニューからシステムフォントを選択

private void setFontToolStripMenuItem_Click(object sender, EventArgs e) 
    { 
     FontSelector.ItemsSource = Fonts.SystemFontFamilies; 
    } 

答えて

6

なぜSystem.Windows.Forms.FontDialogを使用しないのですか?あなたのフォントファミリ、サイズ、色を設定するためにユーザを可能に多くの作業...

http://msdn.microsoft.com/en-us/library/system.windows.forms.fontdialog.aspx

それはあなたが開くことができるダイアログフォームだが、保存など例:

FontDialog fontDialog1 = new FontDialog(); 
fontDialog1.Font = textBox1.Font; 
fontDialog1.Color = textBox1.ForeColor; 

if(fontDialog1.ShowDialog() != DialogResult.Cancel) 
{ 
    textBox1.Font = fontDialog1.Font ; 
    textBox1.ForeColor = fontDialog1.Color; 
} 
+0

必ずHinekを意味するものではありません - あなたはさらに手の込んだだろうか?ありがとう –

+0

@CollyMcK:[This](http://msdn.microsoft.com/en-us/library/system.windows.forms.fontdialog.aspx)、他のすべてのWindowsアプリケーションでフォントを選択するために使用される共通のダイアログ。しかし、*は別のダイアログであるため、アプリケーション内のメニューやコンボボックスに何も表示されません。 –

+0

確かに、私は答えを編集しました... – Hinek

0

あなたは、例えば、コンボボックスに、このリストを表示することができます。

FontFamily[] fontList = new System.Drawing.Text.InstalledFontCollection().Families; 
+0

こんにちはAndersさん - 実際にフォームに何も追加したくありません - フォントの設定時にこのリストとユーザーを選択して選択したいのですが –

+0

フォントを選択するためのダイアログ/コントロールのフォームを表示するか、その場合はFontDialogを使用します。そうでない場合は、フォントを選択するものを表示したくない場合、フォントのリストをメニューite msまたはコンボなどの項目を使用します。それ以外の場合、私は "私はこのリストを持っていきたい"と理解していません。説明する "持ち上げる" –

関連する問題