ToString()で帰ってきた文字列について – プログラミング – Home

ToString()で帰ってきた文字列...
 
通知
すべてクリア

[解決済] ToString()で帰ってきた文字列について


t2
 t2
(@t2)
ゲスト
結合: 21年前
投稿: 16
Topic starter  

開発環境:
Microsoft Visual Studio .NET 2002
Windows 2000 SP2

プロジェクトの新規作成にてC#プロジェクトのWindowsアプリケーションを選択。
Formは最初に作成されたFormが1つだけです。

目的:
フォントの情報をレジストリに保存し、次回起動時に復元したい。

不明点:
レジストリに作成されたキー情報を見ると下記のように登録されています。
[Font: Name=MS 明朝, Size=15.75, Units=3, GdiCharSet=128,
GdiVerticalFont=False]
これを読み出したときにFontクラスへ変換する方法がわかりません。

現在、処理は下記のようにしています。
private void RegistSetting( bool IsGetValue )
{
Microsoft.Win32.RegistryKey RegRoot, RegKey;

RegRoot = Microsoft.Win32.Registry.CurrentUser;
RegKey = RegRoot.CreateSubKey( Software\\Test\\TestPro1 );

if( IsGetValue )
{ //読み込み
strFont = (string)RegKey.GetValue( Font, lblTime.Font );
lblTime.Font = //どうやって変換するのか
}
else
{ //書き込み(ToString()メソッドが呼ばれている)
RegKey.SetValue( Font, lblTime.Font );
}

RegKey.Close();
RegRoot.Close();
}

System.Convertクラスを見つけましたが用途が異なるようです。
また、XmlConvertクラスなる物を見つけましたがこれもSystem.Convertと同じ
ような用途のようです。

よろしくお願いします。


引用未解決
トピックタグ
t2
 t2
(@t2)
ゲスト
結合: 21年前
投稿: 16
Topic starter  

自己レスです。

System.Drawing.FontConverterクラスを使用することで解決しました。

private void RegistSetting( bool IsGetValue )
{
Microsoft.Win32.RegistryKey RegRoot, RegKey;
System.Drawing.FontConverter FontCnv;

RegRoot = Microsoft.Win32.Registry.CurrentUser;
RegKey = RegRoot.CreateSubKey( Software\\T&TSoft\\Clock );
FontCnv = new System.Drawing.FontConverter();

if( IsGetValue )
{
string strFont;

strFont = (string)RegKey.GetValue( Font, (object)
FontCnv.ConvertToString( lblTime.Font ) );
lblTime.Font = (System.Drawing.Font)FontCnv.ConvertFromString(
strFont );
}
else
{
RegKey.SetValue( Font, (object)FontCnv.ConvertToString(
lblTime.Font ) );
}

RegKey.Close();
RegRoot.Close();
}


返信引用

返信する

投稿者名

投稿者メールアドレス

タイトル *

プレビュー 0リビジョン 保存しました
共有:
タイトルとURLをコピーしました