问题描述
窗口打开默认是医嘱界面我在危急值报警的界面中用了timer控件定时扫描给出提示弹框问题:不会提示弹框除非你去把这个危急值报警去点一下点了一下之后就能按照要求走了usingSystem;usingSystem.Collections.Generic;usingSystem.ComponentModel;usingSystem.Drawing;usingSystem.Data;usingSystem.Text;usingSystem.Windows.Forms;usingNeusoft.HISFC;usingNeusoft.NFC;usingSystem.Data.OracleClient;namespaceNeusoft.UFC.Order.Controls{publicpartialclassbaojin:Neusoft.NFC.Interface.Controls.ucBaseControl{publicbaojin(){InitializeComponent();}privatevoidbaojin_Load(objectsender,EventArgse){//MessageBox.Show("有危急值需要处理load","危急值",MessageBoxButtons.OKCancel,MessageBoxIcon.Warning);}privatevoidtimer1_Tick(objectsender,EventArgse){OracleConnectioncon=newOracleConnection();//connectionString是你的连接字符串。con.ConnectionString="*******************;";//连接参数OracleCommandcmd=newOracleCommand();cmd.Connection=con;con.Open();cmd.CommandText="**********************";OracleDataReaderreder=cmd.ExecuteReader();if(reder.Read())MessageBox.Show("有危急值需要处理","危急值",MessageBoxButtons.OKCancel,MessageBoxIcon.Warning);//con.Close();}}}
解决方案
解决方案二:
MessageBox.Show你这个阻塞执行了啊……如果你要弹信息又不阻塞,那你应该自己写个form,然后show出来
解决方案三:
你把timer1放到了报警页面里,报警页面不打开,timer也不执行啊要么你换个控件,不要用窗体控件比如用线程,或者用事件的机制
解决方案四:
引用1楼starfd的回复:
MessageBox.Show你这个阻塞执行了啊……如果你要弹信息又不阻塞,那你应该自己写个form,然后show出来
问题不是这个而是这个不执行一定要去点一下才执行
解决方案五:
或者你把timer放进主窗体里去
解决方案六:
引用2楼Z65443344的回复:
你把timer1放到了报警页面里,报警页面不打开,timer也不执行啊要么你换个控件,不要用窗体控件比如用线程,或者用事件的机制
我的想法是能不能在医嘱的那个打开界面加上一段代码把我这个危急值报警的用户控件打开(就相当于去点了一下)
解决方案七:
你这个timer应该是在主窗体里面执行啊,按你这个不打开就能弹的需求
解决方案八:
也行啊.写条语句呗
解决方案九:
引用7楼Z65443344的回复:
也行啊.写条语句呗
怎么写了请赐教