小白,循环播放窗体出现假死,我也试过BeginInvoke,但是自身知识薄弱,急求帮忙解决一下

HIDemoiii 2018-09-15 09:27:01

//Timer
private void Timer(double _time,bool Enabled)
{
timers.Interval = _time;//时间间隔
timers.Enabled = Enabled;//是否执行事件
timers.AutoReset = true;//一次Or多次(false/true)
timers.Elapsed += new System.Timers.ElapsedEventHandler(TimeHandle);//具体执行内容
}
//开始显示或结束显示
private void start_btn_Click(object sender, EventArgs e)
{
double _Time = Convert.ToInt32(textBox1.Text);
bool enabled;

if (start == false)
{
start = true;
enabled = true;
start_btn.BackColor = Color.Green;
Timer(_Time, enabled);
}
else
{
start = false;
enabled = false;
start_btn.BackColor = Color.Red;
timers.Enabled = enabled;
MessageBox.Show("已关闭");
}
}
//执行事件内容
private void TimeHandle(object sender, System.Timers.ElapsedEventArgs e)
{
open_Form(one_frm);
}

// 打开窗体
private void open_Form(Form objForm)
{
objForm.Show();
Thread.Sleep(5000);
objForm.Hide();
objForm.Close();
objForm.Dispose();
}
...全文
158 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
HIDemoiii 2018-11-02
  • 打赏
  • 举报
回复
使用委托解决了
HIDemoiii 2018-09-15
  • 打赏
  • 举报
回复
想做一个定时更新内容(类似LED屏幕切换内容),用一个开关来控制timer启动,能给点创作提示吗
圣殿骑士18 2018-09-15
  • 打赏
  • 举报
回复
没看出你代码是要干嘛?你只是在学习用写的代码吗?
在线程里和窗口交互是很常见的,但在线程里开关窗口,这就是脱裤子放屁,多此一举。现实中不会有这种应用场景。
初学还是从基本的东西开始,不要挑战这种奇奇怪怪的东西。
HIDemoiii 2018-09-15
  • 打赏
  • 举报
回复
小白求救233
圣殿骑士18 2018-09-15
  • 打赏
  • 举报
回复
对回答者不要这么苛刻。
能给分就给分,哪怕没有回答到你的点上,但别人都花费了时间不是?时间不值钱吗,现在人的时间最值钱,你把时间换成工资,一分钟要几块钱,而分不值钱。
问题解决了,可以贴出解决的方法,供别人参考。
想要索取,就自己也多点奉献,不要只是自私。
HIDemoiii 2018-09-15
  • 打赏
  • 举报
回复
问题已经解决

62,046

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧