C#
仕様としてstartbutton,resetbutton,textbox,timer(0.5秒間隔)があり
startを押すと0.5秒間隔に数値(1~75)がでます。
それを3秒経過時点でそのタイマーが止まります。
resetを押すとまたそのタイマーをくりかえすにはどうすればいいですか?
いろいろ試しましたが何度やっても繰り返しができないです。
今のところ一度目は3秒後に出ているように思いますがreset後は何も起きません
public partial class Form1 : Form { Random r = new Random(); //ランダムに数値を出す List<int> list = Enumerable.Range(1, 75).ToList(); //1~5の数字をカウントしていれていったリスト List<int> blank = new List<int>(); //空き箱リスト public int no; int cnt = 0; int time_cnt = 0; DateTime now = DateTime.Now; int i = 0; DateTime time1; public Form1() { InitializeComponent(); } public void Start_Button_Click(object sender, EventArgs e) { timer1.Enabled = true; } public void Reset_button2_Click(object sender, EventArgs e) { start_button.Enabled = true; textBox1.Text = ""; cnt = 0; list = Enumerable.Range(1, 75).ToList(); //1~5の数字をカウントしていれていったリスト blank = new List<int>(); //空き箱リスト } public void Timer1_Tick(object sender, EventArgs e) { time_cnt++; cnt++; if (cnt == 75) { start_button.Enabled = false; } int index = r.Next(0, list.Count() - 1); //ランダムな数値を摘出 no = list[index]; //noに置き換え list.RemoveAt(index); //リストからランダムに選ばれた数字を取り除く blank.Add(no); textBox1.Text = no.ToString(); DateTime.Now.AddSeconds(i); if (time1 >= now.AddSeconds(3)) { timer1.Enabled = false; } } }
コードは ``` と ``` で囲ってください。インデントされてないコードはあなたも読む気がしないのでは? 赤の他人の回答者・閲覧者はなおさらです。
これは https://teratail.com/questions/230714
の続きですよね?何か明後日のほうに進んでる気がします。
作っているものがビンゴ抽選機だとして、向こうに参考コードを上げました。
回答1件
あなたの回答
tips
プレビュー