前提・実現したいこと
C#でWindowsアプリケーションを作っています。
pngの画像四枚をtimerイベントで連続表示して
アニメーションのようにしたいです。
Directory.GetFilesで画像を取得したstring[]pngの配列をどうしたら
ループさせられますか?
timer1_Tick内の処理をどうしたらいいのかわかりません。
該当のソースコード
using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Windows.Forms; using System.IO; namespace otsukare { public partial class Form2 : Form { private string name=""; string[] png; int i = 0; public Form2() { InitializeComponent(); } public void Form2_Load(object sender, EventArgs e) { label1.Text = name + "さん、お疲れ様です!"; png = Directory.GetFiles(@"C:\Users\まばたき", "*", System.IO.SearchOption.AllDirectories); Timer timer1 = new Timer(); timer1.Tick += new EventHandler(timer1_Tick); timer1.Interval = 1000; timer1.Enabled = true; } public string userName { set { name = value; } get { return name; } } private void timer1_Tick(object sender, EventArgs e) { pictureBox1.ImageLocation = png[i]; i++; } private void button1_Click(object sender, EventArgs e) { timer1.Enabled = false; this.Close(); } } }
### エラー
インデックスが配列の境界外です。
補足情報(FW/ツールのバージョンなど)
visualstudio2010
pngの最後まで表示したらどうしたいのですか?
すいません。ループさせたいってありましたね
はい!四枚の画像をひたすらループさせてbutton1をクリックするとループを止めてフォームを閉じる仕様にしたいです。
回答1件
あなたの回答
tips
プレビュー