C# 使用带有进度条的计时器打开下一个窗体
这是一个非常粗糙的代码,我在C#还是个新手,我不知道我的代码有什么问题。它使用计时器和进度条。不过我知道代码可能会更好,而且有点粗糙。。这是我第一个节目的一部分,我已经走得很远了 我的问题是,当使用计时器时进度条处于100%时,应该隐藏带有进度条的当前房间,然后切换到下一个房间。它能工作,但能打开下一个房间两次吗?我做错了什么?我希望代码最终在加载时也能做更多的事情,但不是现在:)C# 使用带有进度条的计时器打开下一个窗体,c#,timer,progress-bar,C#,Timer,Progress Bar,这是一个非常粗糙的代码,我在C#还是个新手,我不知道我的代码有什么问题。它使用计时器和进度条。不过我知道代码可能会更好,而且有点粗糙。。这是我第一个节目的一部分,我已经走得很远了 我的问题是,当使用计时器时进度条处于100%时,应该隐藏带有进度条的当前房间,然后切换到下一个房间。它能工作,但能打开下一个房间两次吗?我做错了什么?我希望代码最终在加载时也能做更多的事情,但不是现在:) 如果有人能帮我写这段代码,那就太好了!非常感谢 您正在订阅代码隐藏中的勾选事件 检查您是否也在Designer.c
如果有人能帮我写这段代码,那就太好了!非常感谢 您正在订阅代码隐藏中的
勾选事件
检查您是否也在Designer.cs
文件中订阅了相同的事件(您可以检查设计器中的“属性”面板)
我猜您已经订阅了两次活动,因此活动中的所有事情都将发生两次,包括创建和打开Form4
的新实例
解决方案是删除timer1.Tick+=neweventhandler(timer1\u Tick)代码>来自表单加载事件。谢谢!:)这解决了我的问题;)
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
namespace WindowsFormsApplication1
{
public partial class Form3 : Form
{
public Form3()
{
InitializeComponent();
}
private void Form3_Load(object sender, EventArgs e)
{
timer1.Enabled = true;
timer1.Start();
timer1.Interval = 1000;
progressBar1.Maximum = 10;
timer1.Tick += new EventHandler(timer1_Tick);
}
private void progressBar1_Click(object sender, EventArgs e)
{
}
private void timer1_Tick(object sender, EventArgs e)
{
if (progressBar1.Value != 10)
{
progressBar1.Value++;
}
else
{
timer1.Stop();
this.Hide();
(new Form4()).Show();
}
}
private void progressBar1_Click_1(object sender, EventArgs e)
{
}
}
}