2016-07-13 8 views
0

私は、ユーザーが選択したフォントとテキストの色のための設定を含むテキストファイルを保存するメニューオプションをユーザーに与えようとしていますテキストボックスの内側にあります。FontDialog.Fontプロパティの結果をテキストファイルに保存する方法

これは私が使用しているコードです。そしてMSは、Visual Studio 2015は

が暗黙のうちに「System.Drawing.Font」にタイプ「string」を変換することはできませんと言われますので、明らかに私はSystem.Drawing.Fontに変換する変数の別のタイプを必要としています。私もストリングを試しても、どちらもうまくいきませんでした。

private void loadPreferencesToolStripMenuItem_Click(object sender, EventArgs e) 
    { 
     if (openFileDialog2.ShowDialog() == DialogResult.OK) 
     { 
      System.IO.StreamReader sr = new System.IO.StreamReader(openFileDialog2.FileName); 
      var myFont= sr.ReadLine(); 
      var myColor = sr.ReadLine(); 
      sr.Close(); 
      fontDialog1.Font = myFont; 
     } 
    } 
+0

あなたが設定ファイルから文字列を読み取り、その文字列にフォントプロパティを設定しています。これをFontクラスに設定します。つまり、 'fontDialog1.Font = new Font(myFont、fontSize:20);' –

答えて

0

ラリー、

あなたは私たちにあなたがopenFileDialog2で開くファイルにフォントや色を保存する必要があるコードを示さなかったが、その構造が重要です。私はあなたが単にフォントと色のToStringをファイルに保存したと仮定します。

あなたのファイルは、次のようになります。

[フォント:名前=のSegoe UI、サイズ= 8.25、単位= 3、GdiCharSet = 0、 GdiVerticalFont = FALSE]

色[ブラック]

コードでは、文字列を解析してフォントと色に戻す必要があります。 フォントを解析するコードでは、文字列を分割し、名前と値を読み取って新しいフォントを作成する必要があります。同じことが色に適用されます。読者の文字列を(私の例では)色文字列(E.G. Black)に解析する必要があります。

var myFont = new Font(fontName、fontSize);

var myColor = ColorTranslator.FromHtml(colorName);

fontName、fontSize、およびcolorNameは、ストリームから作成してから入力する必要がある変数です。

HTH、

マルク・

関連する問題