.NET

.NETアプリでよくあるので「実行ファイル.config」にデータを保存してあって、わざわざ自前の設定ファイルを作らないっていうのがあるわよね。あれをやってみるわ。

とりあえず、マニュアルで登録しましょう。

手順

リソースの定義

(VS頼りでなくxamlにリソース定義する方法もあるけど、それはまた別の話で)

Visual Studio(2010や2013あたりならたぶん共通)のソリューションエクスプローラーで『Settings.settings』っていうのをダブルクリックすると、以下のようなのが開くわよね?ここに値を登録するの。うちは壁紙を貼る事にしたから、wallpaperって名前にしたわ。ファイル名をフルパスで入れるから、型はもちろん string(文字列) ね。

#ref(): File not found: "settings.jpg" at page "プロパティに保存したデータを使う"

コードで表現する場合は?

これにアクセスする方法は、以下のように書くの。

Properties.Settings.Default.wallpaper;

保存法は?

プロパティだから起動時は自動で読み込まれるけど、保存はそうはいかない。明示的にやらないとね。

保存するには、以下のようにするの。

Properties.Settings.Default.Save();

実際に使ってみる。

コード

さて、それじゃあ実際に読み込んで使ってみましょう。壁紙だから起動時に貼り付けましょうか。

まず、絵を貼り付けるカンバスを MainWindow.xaml に設定しましょう。

<Window x:Class="clock2.MainWindow"
       xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
       xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
       Title="MainWindow" Height="350" Width="525">
   <Canvas x:Name="a1">
       <Canvas.Background>
           <ImageBrush x:Name="ibb" Opacity="0.8" />
       </Canvas.Background>
   </Canvas>
</Window>

それで、実際に画像を貼り付けるコード。

      private static string wallpaper = "";
      private BitmapImage b_ima = null;

       public MainWindow()
       {
           InitializeComponent();
           wallpaper = Properties.Settings.Default.wallpaper;
           if (File.Exists(wallpaper) == true)
           {
               // 記録通りに壁紙を貼る
               b_ima = new BitmapImage();
               b_ima.BeginInit();
               b_ima.UriSource = new Uri(wallpaper); 
               b_ima.EndInit();
               ibb.ImageSource = b_ima;
               ibb.Stretch = Stretch.Uniform;
           }
       }

実行結果

で、実行結果。うまくいったかしら?

#ref(): File not found: "shot-wall.png" at page "プロパティに保存したデータを使う"

あと、画像のかわいい生き物が何かについての情報はこっちね。


トップ   編集 凍結解除 差分 履歴 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2016-02-13 (土) 11:17:36