问题描述
刚学C#,能力有限做倒计时器,textBox一直有些问题,但是不知道怎么改另外想知道到时间后怎么弹出图片和声音提醒。。namespaceWindowsFormsApplication2{publicpartialclassForm1:Form{publicForm1(){InitializeComponent();}intcountSecond;privatevoidtimer1_Tick(objectsender,EventArgse){if(countSecond!=0){stringb=textBox1.Text;inta=int.Parse(b);countSecond=a;countSecond-=1;lblTime.Text=newDateTime(countSecond*10000000).ToString();}}privatevoidForm1_Load(objectsender,EventArgse){lblTime.Text=countSecond.ToString();timer1.Interval=1000;timer1.Tick+=newSystem.EventHandler(timer1_Tick);}privatevoidbutton1_Click(objectsender,EventArgse){timer1.Start();}}}
解决方案
解决方案二:
1.textBox一直有些问题?什么问题?2.弹出图片可以在窗口中放一个图片控件,然后在timer中弹出窗口即可。3.提示声音,“告警.wav”只能是*.wav格式的声音,若下载的提示为其它格式可用工具转换成wav格式System.Media.SoundPlayersp=newSystem.Media.SoundPlayer();sp.SoundLocation=@"告警.wav";sp.Play();
解决方案三:
int.Parse?如果错了程序就会出错int.tryParse倒计时器还不简单。设置个数字。每隔一秒减去1
解决方案四:
引用1楼nry19871012的回复:
1.textBox一直有些问题?什么问题?2.弹出图片可以在窗口中放一个图片控件,然后在timer中弹出窗口即可。3.提示声音,“告警.wav”只能是*.wav格式的声音,若下载的提示为其它格式可用工具转换成wav格式System.Media.SoundPlayersp=newSystem.Media.SoundPlayer();sp.SoundLocation=@"告警.wav";sp.Play();
就是textbox的数据不是string吗,可我向框里输的是数字在把textbox的值赋给countsecond的时候,我试了用强制转换,转换成int一直出错
解决方案五:
引用2楼baidu_33932448的回复:
int.Parse?如果错了程序就会出错int.tryParse倒计时器还不简单。设置个数字。每隔一秒减去1
还是不对啊。。
解决方案六:
gif看下效果就行,录的时候有延时,倒计时不准确。播放声音的代码写在Form2的load里即可intcountSecond;privatevoidtimer1_Tick(objectsender,EventArgse){if(countSecond!=0){countSecond--;label1.Text=countSecond.ToString("00");}else{timer1.Stop();Form2frm=newForm2();frm.Show();}}privatevoidbtnStart_Click(objectsender,EventArgse){if(!string.IsNullOrEmpty(txtCountSec.Text)){boolconvertSuccess;convertSuccess=int.TryParse(txtCountSec.Text,outcountSecond);//如果转换失败,默认倒计时为10秒if(!convertSuccess)countSecond=10;label1.Text=countSecond.ToString("00");timer1.Start();}elseMessageBox.Show("请输入需要倒计时的时间.");}
解决方案七:
引用3楼ABooooooo的回复:
Quote: 引用1楼nry19871012的回复:
1.textBox一直有些问题?什么问题?2.弹出图片可以在窗口中放一个图片控件,然后在timer中弹出窗口即可。3.提示声音,“告警.wav”只能是*.wav格式的声音,若下载的提示为其它格式可用工具转换成wav格式System.Media.SoundPlayersp=newSystem.Media.SoundPlayer();sp.SoundLocation=@"告警.wav";sp.Play();就是textbox的数据不是string吗,可我向框里输的是数字在把textbox的值赋给countsecond的时候,我试了用强制转换,转换成int一直出错
断点跟一个b的值是不是数字类型.使用boolresult=int.TryParse(b,outa),判断其返回值是否转换成功。