1週間でできる! スクリーンセーバー 5/7

LONERさん
LONERさん

昔書いた記事をブログに貼り付けておく。前回のところで、スクリーンセーバは完成しました。残りの3回で、アレンジしていきます。きりのいいところで終わるかどうかはわかりません。<設定画面を作る>設定画面を作ります。なにを設定しようか。更新間隔と画像の設定をしようと思う。じゃぁ、さっきのプロジェクトのプロパティの左側を見てほしい。そこに、設定 というのがある。それをクリックする。そして、 updateInterval | Integer | 2000 graphicPath | String | ""と入力してください。では設定画面のデザインをやっていきましょう。必要なコントロールを、ドラッグ&ドロップで追加していってください。必要なのは、 ok, cancel の2つのButton、updateInterval を設定するための NumericUpDown、画像選択ウインドウを開くための Button、画像の場所を表示するためのLabel。あとは適当に説明とか見出しとか入れる。はい、できましたか?では次にプロパティの設定です。フォームのプロパティで AcceptButton, CancelButtonに、OKボタンとCancelボタンを設定してください。これで Enter, Esc がボタンと関連付けられます。そして NumericUpDown については TextAlign = Right Increment = 100 Maximum = 100000 Minimum = 100といった感じで設定してください。数値などの値は、好きなように設定していただければ結構です。Label は、AutoSize を False にするとサイズを固定できます。Name プロパティ は各自好きなように変更してください。設定画面をタスクバーに表示したくない場合は、フォームのFormBorderStyleを変更してみてください。<設定画面のコード>設定画面ではどんな動きが必要になるでしょうか。起動したときに設定値を読み込むボタンを押したらウインドウを閉じて設定値を保存する画像選択設定値を読み込むのは起動時でいいですね。フォームをダブルクリックして、でてきたLoadイベントプロシージャのところに書きましょう。Label1.Text = My.Settings.graphicPathNumericUpDown1.Value = My.Settings.updateIntervalとなります。ではウインドウを閉じるためのコードを書いていきましょう。キャンセルボタンをダブルクリックして、出てきたコードの中にMe.Close()と書けばOKです。OKボタンは設定値の保存が必要です。My.Settings.graphicPath = Label1.TextMy.Settings.updateInterval = NumericUpDown1.ValueMy.Settings.Save()Me.Close()と書けばおkです。画像を選択するためのボタンをダブルクリックしてください。画像選択の動きを書いていきます。Using frm As new OpenFileDialog  ' 表現は適当に変更してください。  frm.Filter = "JPEG|*.jpg;*.jpeg|PNG|*.png|GIF|*.gif|BMP|*.bmp"  ' ダイアログを開いて、もしOKが押されていたら、ラベルにファイル名を格納します。  If frm.ShowDialog() = DialogResult.OK Then    Me.Label1.Text = frm.FileName  End If  frm.Dispose()End Usingこれで設定画面ができました。<今後の予定> 6/7 モジュールの話 7/7 設定値の読み込み
LONERさんのブログ一覧