| ページ一覧 | ブログ | twitter |  書式 | 書式(表) |

MyMemoWiki

差分

ナビゲーションに移動 検索に移動
編集の要約なし
==[[C# 設定情報を保存する]]==[[C#Sharp]]|
*[[Windows ]] Form アプリケーションでアプリケーション設定機能を実装
===テキストボックスの入力値を設定ファイルに保存する例===
====適当なWindows 適当な[[Windows]] Form に、テキストボックスを配置====*txtDatabaseFileNameとするtxt[[Database]]FileNameとする
[[File:0286_app_setting01.jpg]]
====ApplicationSettingsBase クラスを継承して 設定管理クラス AppSettings を作成====
[UserScopedSetting()]
[DefaultSettingValue("")]
public string DatabaseFileName[[Database]]FileName
{
get { return (string)this["DatabaseFileName"]; }
{
appSettings = new AppSettings();
txtDatabaseFileNametxt[[Database]]FileName.DataBindings.Add("Text", appSettings, "DatabaseFileName[[Database]]FileName");
}
====保存された内容====
*以下の内容の user.config ファイルが作成され、プロパティの内容が永続化された。
<&lt;?xml version="1.0" encoding="utf-8"?>&gt; <&lt;configuration>&gt; <&lt;configSections>&gt; <&lt;sectionGroup name="userSettings" type="System.Configuration.UserSettingsGroup, System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" >&gt; <&lt;section name="EntityFrameworkTest.AppSettings" type="System.Configuration.ClientSettingsSection, System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" allowExeDefinition="MachineToLocalUser[[Mac]]hineToLocalUser" requirePermission="false" />&gt; <&lt;/sectionGroup>&gt; <&lt;/configSections>&gt; <&lt;userSettings>&gt; <&lt;EntityFrameworkTest.AppSettings>&gt; <&lt;setting name="DatabaseFileName[[Database]]FileName" serializeAs="String">&gt; <&lt;value>&gt;C:\Users\piroto\Documents\[[Visual Studio ]] 2008\Projects\EntityFrameworkTest\EntityFrameworkTest\sample.sdf<&lt;/value>&gt; <&lt;/setting>&gt; <&lt;/EntityFrameworkTest.AppSettings>&gt; <&lt;/userSettings>&gt; <&lt;/configuration>&gt;
<&lt;blockquote>&gt;設定 xmlファイルがどういう理屈でこの場所に作成されるかがいまひとつよくわからない。今回は、以下のフォルダにuser.configとして作成された。<&lt;/blockquote>&gt;
C:\Users\piroto\AppData\Local\Hewlett-Packard\EntityFrameworkTest.exe_Url_5htezannqikv2ogpq2wtqqlsmmdv0n3s\1.0.0.0
====テキストボックスのプロパティとしてではなく利用する====
string db_filename = appSettings.DatabaseFileName[[Database]]FileName;
if (!File.Exists(db_filename))
{
    MessageBox.Show("[[Database ]] File is not exist.", "", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
return;
}
*正しく読み込める。

案内メニュー