4

C# WPF アプリケーションから ICS ファイルを作成し、次のコードを使用して ICS ファイルを生成しています。

StreamWriter writer;
writer = new StreamWriter(filePath);
writer.WriteLine("BEGIN:VCALENDAR");
writer.WriteLine("VERSION:2.0");
writer.WriteLine("PRODID:MyApp");
writer.WriteLine("CALSCALE:GREGORIAN");
writer.WriteLine("METHOD:PUBLISH");
writer.WriteLine("BEGIN:VEVENT");
string startDateTime = Convert.ToDateTime(appointmentDetails.StartDate).ToString("yyyyMMdd'T'HHmmss");
string endDateTime = Convert.ToDateTime(appointmentDetails.EndDate).ToString("yyyyMMdd'T'HHmmss");

writer.WriteLine("DTSTART:" + startDateTime);
writer.WriteLine("DTEND:" + endDateTime);
writer.WriteLine(@"DESCRIPTION:" + appointmentDetails.Body);
writer.WriteLine("SUMMARY:" + appointmentDetails.Subject);
writer.WriteLine("END:VEVENT");
writer.WriteLine("END:VCALENDAR");
writer.Close();

しかし、説明を作成する際にいくつかの問題があります。改行に \n を追加すると、問題が発生すると思います。このように文字列をフォーマットする必要があります。

------------------
Header1
-----------------
bOdy1
contents
---------------

次の行を使用して点線を作成しています。

result += new String('-', characterLength) + "\\n";

しかし、出力には点線ではなく 1 行が表示されます。「\n」が問題を引き起こしていると思います。改行エスケープ文字の後にスペースを追加すると、問題が解決したことがわかります。これに対するより良い/別の解決策はありますか?

説明の一部の文字列が異なるフォント スタイルで表示されています。どうすれば一意にできますか?

この ICs ファイルのフォントを C# から設定するにはどうすればよいですか?

提案してください。

4

2 に答える 2