clover显卡侦测测,辨认,真伪

回复讨论(解决方案)
很正常。。。。
如果你用过3ds&max&估计闪动时间比你的还长
你控件动态加载的函数放的位置可能不对,我没实验,你可以放在构造函数中初始化控件的方法中,好像叫做Initiliaze什么的那个方法里面
你控件动态加载的函数放的位置可能不对,我没实验,你可以放在构造函数中初始化控件的方法中,好像叫做Initiliaze什么的那个方法里面
不是这个问题,我在网上查说要用到线程,我用了,可还是如此。
&&&new&System.Threading.Thread(new&System.Threading.ThreadStart(()&=&
&&&&&&&&&&&&{
&&&&&&&&&&&&&&&&BeginInvoke(new&System.Threading.ThreadStart(()&=&
&&&&&&&&&&&&&&&&{
&&&&&&&&&&&&&&&&&&&&ShowContent(this.tpPages.SelectedIndex&+&1);//窗体加载标签内容
&&&&&&&&&&&&&&&&}));
&&&&&&&&&&&&}))&{&IsBackground&=&true&}.Start();
ShowContent(this.tpPages.SelectedIndex&+&1);//窗体加载标签内容,这个方法就是动态的向窗体加载label控件,而label控件的多少是根据数据库中查询出来的,用了线程,程序运行的时候还是先出现窗体,后出现
SetStyle(ControlStyles.UserPaint,&true);
&&&&&&&&&&&&SetStyle(ControlStyles.AllPaintingInWmPaint,&true);&//&禁止擦除背景.
&&&&&&&&&&&&SetStyle(ControlStyles.DoubleBuffer,&true);&//双缓冲
是窗体闪烁问题吗?
可以设置这三个属性,直接在formload下就可以的。
我前段时间做的是在form里动态生成控件,然后控件会有闪烁,也是闪一次,然后就正常了。
加完前面几句,效果稍微好点,也是查了好多资料才出来的。。
有待改善!!
BeginInvoke换成Invoke试试
SetStyle(ControlStyles.UserPaint,&true);
&&&&&&&&&&&&SetStyle(ControlStyles.AllPaintingInWmPaint,&true);&//&禁止擦除背景.
&&&&&&&&&&&&SetStyle(ControlStyles.DoubleBuffer,&true);&//双缓冲
是窗体闪烁问题吗……
窗体倒是不闪烁,就是动态加载的那些控件会闪烁,然后才出现,我加了那三个属性,感觉没效果啊&,烦得很啊,时间很急啊,不知道怎么回事。
BeginInvoke换成Invoke试试
还是不行,就是窗体先出现,过几秒钟上面的label控件闪一下,都出现,并且我将label北京设为透明的,但是label闪的同时有一点蓝色的,然后变成透明的全部显示在窗体上。
就是窗体先出现,然后那些控件慢慢的慢慢的出现。
加控件前,加个Application.DoEvent试试看
加控件前,加个Application.DoEvent试试看
控件前面?是显示控件之前吗,我加了没有任何变化啊。
隔一段时间,窗体上的标签就要刷新一次,窗体上是一个tabcontrol控件,点击按钮窗体上的tabcontrol的tabpage动态切换,那么每个tabpage上的标签页不停的刷新,但是每个tabpage上的标签都出现的很慢。
贴出你代码写的事件,看看执行顺序是否正确!
是用的定时器吗??刷新频率快??
贴出你代码写的事件,看看执行顺序是否正确!
主窗体中,点击开始播放:
&EditContentForm&edit&=&//要播放的窗体
&//开始播放
&&&&&&&&private&void&btnStart_Click(object&sender,&EventArgs&e)
edit&=&new&EditContentForm(this);
edit.tsmInsert.Visible&=&//播放的时候禁用插入的右键菜单
&&&&&&&&&&&&&&&&&&&&edit.WindowState&=&FormWindowState.M
&&&&&&&&&&&&&&&&&&&&//this.SuspendLayout();
&&&&&&&&&&&&&&&&&&&&timer2_Tick(null,&null);//这里先执行一遍&
&&&&&&&&&&&&&&&&&&&&edit.ShowDialog();
&&&&&&&&&&&&&&&&&&&&this.SuspendLayout();
&&&&&&&&&&&&&&&&&&&&this.ResumeLayout(false);
&&//播放控制(需要播放哪些页面)
&&&&&&&&private&void&timer2_Tick(object&sender,&EventArgs&e)
&&&&&&&&&&&&&List&BoardPage&&boardPage&=&board.GetPageNoIsused(Init.GetHushisiteIdByIp());//获取存放需要显示播放的页号和显示时间&&&&
&&&&&&&&&&&&&if&(boardPage.Count&&&0)
&&&&&&&&&&&&&{
&&&&&&&&&&&&&&&&&//设置新的时间
&&&&&&&&&&&&&&&&&edit.tpPages.SelectedIndex&=&boardPage[_playIndex].PageNo&-&1;
&&&&&&&&&&&&&&&&&timer2.Stop();
&&&&&&&&&&&&&&&&&timer2.Interval&=&boardPage[_playIndex].IsTime&*&1000;
&&&&&&&&&&&&&&&&&if&(++_playIndex&&=&boardPage.Count())
&&&&&&&&&&&&&&&&&&&&&_playIndex&=&0;
&&&&&&&&&&&&&&&&&
&&&&&&&&&&&&&&&&&timer2.Start();
&&&&&&&&&&&&&}
&&&&&&&&&&&&&GC.Collect();
&&//播放时显示内容(tabcontrol切换)
&&&&&&&&private&void&tpPages_SelectedIndexChanged(object&sender,&EventArgs&e)
&&&&&&&&&&&&SetPanelPreview(this.tpPages.SelectedIndex&+&1);//加载背景图片
&&&&&&&&&&&&ShowContent(this.tpPages.SelectedIndex&+&1);//加载内容标签
//窗体加载事件
&private&void&EditContentForm_Load(object&sender,&EventArgs&e)
&&&&&&&&&&&&SetStyle(ControlStyles.UserPaint,&true);
&&&&&&&&&&&&SetStyle(ControlStyles.AllPaintingInWmPaint,&true);&//&禁止擦除背景.
&&&&&&&&&&&&SetStyle(ControlStyles.DoubleBuffer,&true);&//双缓冲
&&&&&&&&&&&&//Application.DoEvents();
&&&&&&&&&&&&//add&by&liutt
&&&&&&&&&&&&//护士站名称居中显示
&&&&&&&&&&&&labHushisiteName.Text&=&Init.GetHushiName();
&&&&&&&&&&&&this.labHushisiteName.Location&=&new&Point((this.panel10.Width&-&this.labHushisiteName.Width)&/&2,&(this.panel10.Height&-&this.labHushisiteName.Height)&/&2);
&&&&&&&&&&&&//一览表名称居中显示
&&&&&&&&&&&&//this.label9.Location&=&new&Point((this.panel9.Width&-&this.label9.Width)&/&2,&(this.panel9.Height&-&this.label9.Height)&/&2);
&&&&&&&&&&&&this.WindowState&=&FormWindowState.M//窗体以最大化的形式加载
&&&&&&&&&&&&this.flowLayoutPanel1.Controls.Clear();
&&&&&&&&&&&&ArrayList&bedinfolist&=&basebed.GetBedInfo();//获取床位显示的文字信息
&&&&&&&&&&&&ArrayList&bedpicinfo&=&basebed.GetBedPicInfo();//获取床位显示左边图片的内容:护理等级,病情,陪护和如厕方式
&&&&&&&&&&&&for&(int&i&=&0;&i&&&bedinfolist.C&i++)
&&&&&&&&&&&&{
&&&&&&&&&&&&&&&&BedPanel&bedpanel&=&new&BedPanel();
&&&&&&&&&&&&&&&&//设置床位显示中文字信息
&&&&&&&&&&&&&&&&string&bedinfos&=&bedinfolist[i].ToString();
&&&&&&&&&&&&&&&&string[]&bedinfo&=&bedinfos.Split(',');
&&&&&&&&&&&&&&&&string&roomname&=&bedinfo[0];
&&&&&&&&&&&&&&&&string&bedname&=&bedinfo[1];
&&&&&&&&&&&&&&&&string&sickname&=&bedinfo[2];
&&&&&&&&&&&&&&&&string&sex&=&bedinfo[3];
&&&&&&&&&&&&&&&&bedpanel.SetRoomName(roomname);
&&&&&&&&&&&&&&&&bedpanel.SetBedName(bedname);
&&&&&&&&&&&&&&&&bedpanel.SetSickName(sickname);
&&&&&&&&&&&&&&&&bedpanel.SetSex(sex);
&&&&&&&&&&&&&&&&if&(Init.GetParamter(Init.GetHushisiteIdByIp(),&&BOARD_EVENT_BACKPIC&).Equals(&1&))//显示图片
&&&&&&&&&&&&&&&&{
&&&&&&&&&&&&&&&&&&&&//设置床位显示中图片信息
&&&&&&&&&&&&&&&&&&&&string&bedpicinfos&=&bedpicinfo[i].ToString();
&&&&&&&&&&&&&&&&&&&&string[]&bedpic&=&bedpicinfos.Split(',');
&&&&&&&&&&&&&&&&&&&&string&nurlevel&=&bedpic[0];
&&&&&&&&&&&&&&&&&&&&string&illstate&=&bedpic[1];
&&&&&&&&&&&&&&&&&&&&string&cared&=&bedpic[2];
&&&&&&&&&&&&&&&&&&&&string&wcfs&=&bedpic[3];
&&&&&&&&&&&&&&&&&&&&bedpanel.SetLT(bed.GetLTImage(nurlevel));
&&&&&&&&&&&&&&&&&&&&bedpanel.SetLB(bed.GetLBImage(cared));
&&&&&&&&&&&&&&&&&&&&bedpanel.SetRT(bed.GetRTImage(illstate));
&&&&&&&&&&&&&&&&&&&&bedpanel.SetRB(bed.GetRBImage(wcfs));
&&&&&&&&&&&&&&&&&&&&if&(Init.GetParamter(Init.GetHushisiteIdByIp(),&&BOARD_EVENT_BED&).Equals(&1&))//显示所有床位的信息
&&&&&&&&&&&&&&&&&&&&{
&&&&&&&&&&&&&&&&&&&&&&&&new&System.Threading.Thread(new&System.Threading.ThreadStart(()&=&
&&&&&&&&&&&&&&&&&&&&&&&&{
&&&&&&&&&&&&&&&&&&&&&&&&&&&&BeginInvoke(new&System.Threading.ThreadStart(()&=&
&&&&&&&&&&&&&&&&&&&&&&&&&&&&{
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&this.flowLayoutPanel1.Controls.Add(bedpanel);
&&&&&&&&&&&&&&&&&&&&&&&&&&&&}));
&&&&&&&&&&&&&&&&&&&&&&&&}))&{&IsBackground&=&true&}.Start();
&&&&&&&&&&&&&&&&&&&&}
&&&&&&&&&&&&&&&&&&&&else//不显示空床的信息
&&&&&&&&&&&&&&&&&&&&{
&&&&&&&&&&&&&&&&&&&&&&&&if&(!sickname.Equals(&&))
&&&&&&&&&&&&&&&&&&&&&&&&{
&&&&&&&&&&&&&&&&&&&&&&&&&&&&new&System.Threading.Thread(new&System.Threading.ThreadStart(()&=&
&&&&&&&&&&&&&&&&&&&&&&&&&&&&{
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&BeginInvoke(new&System.Threading.ThreadStart(()&=&
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&{
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&this.flowLayoutPanel1.Controls.Add(bedpanel);
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&}));
&&&&&&&&&&&&&&&&&&&&&&&&&&&&}))&{&IsBackground&=&true&}.Start();
&&&&&&&&&&&&&&&&&&&&&&&&}
&&&&&&&&&&&&&&&&&&&&}
&&&&&&&&&&&&&&&&}
&&&&&&&&&&&&&&&&else//不显示图片
&&&&&&&&&&&&&&&&{
&&&&&&&&&&&&&&&&&&&&if&(Init.GetParamter(Init.GetHushisiteIdByIp(),&&BOARD_EVENT_BED&).Equals(&1&))//显示所有床位的信息
&&&&&&&&&&&&&&&&&&&&{
&&&&&&&&&&&&&&&&&&&&&&&&new&System.Threading.Thread(new&System.Threading.ThreadStart(()&=&
&&&&&&&&&&&&&&&&&&&&&&&&{
&&&&&&&&&&&&&&&&&&&&&&&&&&&&BeginInvoke(new&System.Threading.ThreadStart(()&=&
&&&&&&&&&&&&&&&&&&&&&&&&&&&&{
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&this.flowLayoutPanel1.Controls.Add(bedpanel);
&&&&&&&&&&&&&&&&&&&&&&&&&&&&}));
&&&&&&&&&&&&&&&&&&&&&&&&}))&{&IsBackground&=&true&}.Start();
&&&&&&&&&&&&&&&&&&&&}
&&&&&&&&&&&&&&&&&&&&else//不显示空床的信息
&&&&&&&&&&&&&&&&&&&&{
&&&&&&&&&&&&&&&&&&&&&&&&if&(!sickname.Equals(&&))
&&&&&&&&&&&&&&&&&&&&&&&&{
&&&&&&&&&&&&&&&&&&&&&&&&&&&&new&System.Threading.Thread(new&System.Threading.ThreadStart(()&=&
&&&&&&&&&&&&&&&&&&&&&&&&&&&&{
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&BeginInvoke(new&System.Threading.ThreadStart(()&=&
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&{
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&this.flowLayoutPanel1.Controls.Add(bedpanel);
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&}));
&&&&&&&&&&&&&&&&&&&&&&&&&&&&}))&{&IsBackground&=&true&}.Start();
&&&&&&&&&&&&&&&&&&&&&&&&}
&&&&&&&&&&&&&&&&&&&&}
&&&&&&&&&&&&&&&&}
&&&&&&&&&&&&}
&&&&&&&&&&&&this.cmbInfoNames.Items.Clear();
&&&&&&&&&&&&this.cmbInfoNames.Items.Add(&自定义文字&);
&&&&&&&&&&&&//绑定护士站对应的条目名称
&&&&&&&&&&&&for&(int&i&=&0;&i&&&library.GetInfoName().C&i++)
&&&&&&&&&&&&{
&&&&&&&&&&&&&&&&cmbInfoNames.Items.Add(library.GetInfoName()[i]);
&&&&&&&&&&&&}
&&&&&&&&&&&&hand&=&new&MouseEventHandler(panel1_MouseMove);
&&&&&&&&&&&&panel1.MouseMove&+=&
&&&&&&&&&&&&new&System.Threading.Thread(new&System.Threading.ThreadStart(()&=&
&&&&&&&&&&&&{
&&&&&&&&&&&&&&&&BeginInvoke(new&System.Threading.ThreadStart(()&=&
&&&&&&&&&&&&&&&&{
&&&&&&&&&&&&&&&&&&&&SetPanelPreview(this.tpPages.SelectedIndex&+&1);//窗体加载时加载背景图片
&&&&&&&&&&&&&&&&}));
&&&&&&&&&&&&}))&{&IsBackground&=&true&}.Start();
&&&&&&&&&&&&new&System.Threading.Thread(new&System.Threading.ThreadStart(()&=&
&&&&&&&&&&&&{
&&&&&&&&&&&&&&&&BeginInvoke(new&System.Threading.ThreadStart(()&=&
&&&&&&&&&&&&&&&&{
&&&&&&&&&&&&&&&&&&&//&Application.DoEvents();
&&&&&&&&&&&&&&&&&&&&ShowContent(this.tpPages.SelectedIndex&+&1);//窗体加载标签内容
&&&&&&&&&&&&&&&&}));
&&&&&&&&&&&&}))&{&IsBackground&=&true&}.Start();
//显示对应的标签内容
&&&&&&&&private&void&ShowContent(int&pageNo)
&&&&&&&&&&&&List&int&&boardinfoids&=&info.SelectAllBoardInfoId(Init.GetHushisiteIdByIp());
&&&&&&&&&&&&for&(int&i&=&0;&i&&&boardinfoids.C&i++)
&&&&&&&&&&&&{
&&&&&&&&&&&&&&&&info.UpdateInfoContent(Init.GetHushisiteIdByIp(),&boardinfoids[i]);//循环更新为自动的每个标签内容
&&&&&&&&&&&&}
&&&&&&&&&&&&DataTable&dt&=&info.SelectBoardinfo(pageNo).Tables[0];
&&&&&&&&&&&&for&(j&=&0;&j&&&dt.Rows.C&j++)
&&&&&&&&&&&&{
&&&&&&&&&&&&&&&&//Application.DoEvents();
&&&&&&&&&&&&&&&&Label&label&=&new&Label();
&&&&&&&&&&&&&&&&label.Location&=&new&Point(Convert.ToInt32(dt.Rows[j][&PosX&]),&Convert.ToInt32(dt.Rows[j][&PosY&]));
&&&&&&&&&&&&&&&&label.AutoSize&=&
&&&&&&&&&&&&&&&&label.BackColor&=&Color.T//将label的背景色设为透明
&&&&&&&&&&&&&&&&label.Text&=&dt.Rows[j][&infotxt&].ToString();//将值赋给动态加入的label控件
&&&&&&&&&&&&&&&&string&fontname&=&dt.Rows[j][&fontname&].ToString();
&&&&&&&&&&&&&&&&float&fontsize&=&Convert.ToInt32(dt.Rows[j][&fontsize&]);
&&&&&&&&&&&&&&&&string&fontstyle&=&dt.Rows[j][&fontstyle&].ToString();
&&&&&&&&&&&&&&&&string&fontcolor&=&dt.Rows[j][&fontcolor&].ToString();
&&&&&&&&&&&&&&&&//设置字体样式:粗体、斜体、下划线、删除线
&&&&&&&&&&&&&&&&char[]&charfontstyle&=&fontstyle.ToCharArray();
&&&&&&&&&&&&&&&&FontStyle&newFontStyle&=&new&FontStyle();
&&&&&&&&&&&&&&&&newFontStyle&=&(charfontstyle[0]&==&'1')&?&(newFontStyle&|&FontStyle.Bold)&:&(newFontStyle&&&~FontStyle.Bold);
&&&&&&&&&&&&&&&&newFontStyle&=&(charfontstyle[1]&==&'1')&?&(newFontStyle&|&FontStyle.Italic)&:&(newFontStyle&&&~FontStyle.Italic);
&&&&&&&&&&&&&&&&newFontStyle&=&(charfontstyle[2]&==&'1')&?&(newFontStyle&|&FontStyle.Underline)&:&(newFontStyle&&&~FontStyle.Underline);
&&&&&&&&&&&&&&&&newFontStyle&=&(charfontstyle[3]&==&'1')&?&(newFontStyle&|&FontStyle.Strikeout)&:&(newFontStyle&&&~FontStyle.Strikeout);
&&&&&&&&&&&&&&&&label.Font&=&new&Font(fontname,&fontsize,&newFontStyle);
&&&&&&&&&&&&&&&&//设置字体颜色
&&&&&&&&&&&&&&&&int&colorR1&=&Convert.ToInt32(fontcolor.Substring(1,&2),&16);
&&&&&&&&&&&&&&&&int&colorG1&=&Convert.ToInt32(fontcolor.Substring(3,&2),&16);
&&&&&&&&&&&&&&&&int&colorB1&=&Convert.ToInt32(fontcolor.Substring(4,&2),&16);
&&&&&&&&&&&&&&&&label.ForeColor&=&Color.FromArgb(colorR1,&colorG1,&colorB1);
&&&&&&&&&&&&&&&&label.Name&=&j.ToString();
&&&&&&&&&&&&&&&&//针对哪个page页进行操作
&&&&&&&&&&&&&&&&this.tpPages.TabPages[this.tpPages.SelectedIndex].Controls.Add(label);
&&&&&&&&&&&&&&&&//动态添加事件,编辑内容
&&&&&&&&&&&&&&&&label.DoubleClick&+=&new&EventHandler(label_DoubleClick);
&&&&&&&&&&&&}
//加载每一页的背景
&&&&&&&&public&void&SetPanelPreview(int&pageNo)
&&&&&&&&&&&&if&(pageDAL.GetPageImage(pageNo)&==&null)
&&&&&&&&&&&&{
&&&&&&&&&&&&&&&&this.tpPages.SelectedTab.BackgroundImage&=&
&&&&&&&&&&&&}
&&&&&&&&&&&&else
&&&&&&&&&&&&{
&&&&&&&&&&&&&&&&this.tpPages.SelectedTab.BackgroundImage&=&pageDAL.GetPageImage(pageNo);
&&&&&&&&&&&&}
是用的定时器吗??刷新频率快??
是用的定时器,频率不快啊,20秒钟。
看了下你的代码,加载窗体时,你是先查询数据库,得到数据后绑定到动态定义的控件,然后再加载进控件的?是不是是你查数据库,取数时耗时引起的
看了下你的代码,加载窗体时,你是先查询数据库,得到数据后绑定到动态定义的控件,然后再加载进控件的?是不是是你查数据库,取数时耗时引起的
是的啊,先查询的数据库,得到数据之后绑定到控件上面,然后加载呀,这样不知道有什么问题。
我都是先获取数据然后绑定的呀。
我都是先获取数据然后绑定的呀。
我是想说,是不是你查数据的时候,耗时了,然后在绑定控件时,耗时表现出来了,所以就闪了一下 我都是先获取数据然后绑定的呀。
我都是先获取数据然后绑定的呀。 所以猜测是取数时耗时了,在动态生成控件的时候表现出来了
考虑用backgroundWorker
引用&21&楼&的回复:
我都是先获取数据然后绑定的呀。
所以猜测是取数时耗时了,在动态生成控件的时候表现出来了
那该怎么解决呀?
考虑用backgroundWorker
怎么用啊?
引用&21&楼&的回复:
我都是先获取数据然后绑定的呀。
所以猜测是取数时耗时了,在动态生成控件的时候表现出来了
但是就算是我把从数据库中获取数据绑定的代码注释掉,窗体上静态的控件也能明显的感觉到是窗体先出现,控件后出现的。
对,就是从数据库获取数据耗时。向上面代码中的ArrayList&bedinfolist&=&basebed.GetBedInfo();//获取床位显示的文字信息
&&ArrayList&bedpicinfo&=&basebed.GetBedPicInfo();//获取床位显示左边图片的内容:护理等级,病情,陪护和如厕方式
&&for&(int&i&=&0;&i&&&bedinfolist.C&i++)
&&BedPanel&bedpanel&=&new&BedPanel();
&&//设置床位显示中文字信息
&&string&bedinfos&=&bedinfolist[i].ToString();
&&string[]&bedinfo&=&bedinfos.Split(',');
&&string&roomname&=&bedinfo[0];
&&string&bedname&=&bedinfo[1];
&&string&sickname&=&bedinfo[2];
&&string&sex&=&bedinfo[3];
&&bedpanel.SetRoomName(roomname);
&&bedpanel.SetBedName(bedname);
&&bedpanel.SetSickName(sickname);
&&bedpanel.SetSex(sex);
&&if&(Init.GetParamter(Init.GetHushisiteIdByIp(),&&BOARD_EVENT_BACKPIC&).Equals(&1&))//显示图片
&&//设置床位显示中图片信息
&&string&bedpicinfos&=&bedpicinfo[i].ToString();
&&string[]&bedpic&=&bedpicinfos.Split(',');
&&string&nurlevel&=&bedpic[0];
&&string&illstate&=&bedpic[1];
&&string&cared&=&bedpic[2];
&&string&wcfs&=&bedpic[3];
&&bedpanel.SetLT(bed.GetLTImage(nurlevel));
&&bedpanel.SetLB(bed.GetLBImage(cared));
&&bedpanel.SetRT(bed.GetRTImage(illstate));
&&bedpanel.SetRB(bed.GetRBImage(wcfs));
&&if&(Init.GetParamter(Init.GetHushisiteIdByIp(),&&BOARD_EVENT_BED&).Equals(&1&))//显示所有床位的信息
&&new&System.Threading.Thread(new&System.Threading.ThreadStart(()&=&
&&BeginInvoke(new&System.Threading.ThreadStart(()&=&
&&this.flowLayoutPanel1.Controls.Add(bedpanel);
&&}))&{&IsBackground&=&true&}.Start();
&&else//不显示空床的信息
&&if&(!sickname.Equals(&&))
&&new&System.Threading.Thread(new&System.Threading.ThreadStart(()&=&
&&BeginInvoke(new&System.Threading.ThreadStart(()&=&
&&this.flowLayoutPanel1.Controls.Add(bedpanel);
&&}))&{&IsBackground&=&true&}.Start();
&&else//不显示图片
&&if&(Init.GetParamter(Init.GetHushisiteIdByIp(),&&BOARD_EVENT_BED&).Equals(&1&))//显示所有床位的信息
&&new&System.Threading.Thread(new&System.Threading.ThreadStart(()&=&
&&BeginInvoke(new&System.Threading.ThreadStart(()&=&
&&this.flowLayoutPanel1.Controls.Add(bedpanel);
&&}))&{&IsBackground&=&true&}.Start();
&&else//不显示空床的信息
&&if&(!sickname.Equals(&&))
&&new&System.Threading.Thread(new&System.Threading.ThreadStart(()&=&
&&BeginInvoke(new&System.Threading.ThreadStart(()&=&
&&this.flowLayoutPanel1.Controls.Add(bedpanel);
&&}))&{&IsBackground&=&true&}.Start();
&&this.cmbInfoNames.Items.Clear();
&&this.cmbInfoNames.Items.Add(&自定义文字&);
&&//绑定护士站对应的条目名称
&&for&(int&i&=&0;&i&&&library.GetInfoName().C&i++)
&&cmbInfoNames.Items.Add(library.GetInfoName()[i]);
&&hand&=&new&MouseEventHandler(panel1_MouseMove);
&&panel1.MouseMove&+=&
&&new&System.Threading.Thread(new&System.Threading.ThreadStart(()&=&
&&BeginInvoke(new&System.Threading.ThreadStart(()&=&
&&SetPanelPreview(this.tpPages.SelectedIndex&+&1);//窗体加载时加载背景图片
&&}))&{&IsBackground&=&true&}.Start();
&&new&System.Threading.Thread(new&System.Threading.ThreadStart(()&=&
&&BeginInvoke(new&System.Threading.ThreadStart(()&=&
&&//&Application.DoEvents();
&&ShowContent(this.tpPages.SelectedIndex&+&1);//窗体加载标签内容
&&}))&{&IsBackground&=&true&}.Start();
都是从数据库获取数据,如果将这些注释掉,窗体上原来的控件都能跟窗体同步显示,但是加上这些就闪一下才能显示。
建议先初始化窗体,等事务处理完毕后才将窗体的Visible设置为true
建议先初始化窗体,等事务处理完毕后才将窗体的Visible设置为true
没有一个人能找到原因啊,悲催。。。。
这只能说明你的机器配置低,.NET程序都这样的,不要把你的.NET程序和MFC等程序的界面相比,不一样的.
这只能说明你的机器配置低,.NET程序都这样的,不要把你的.NET程序和MFC等程序的界面相比,不一样的.
呵呵,这可不行,那客户的机器配置低,我给他看这样的界面,我自己都看不下去,别说别人了,我觉得一定能解决。
我现在在edit窗体中加了个timer控件,并且将Opacity&设为&0%
&private&void&timer1_Tick(object&sender,&EventArgs&e)
&&&&&&&&&&&&if&(this.Opacity&&&1)
&&&&&&&&&&&&&&&&this.Opacity&+=1;
将播放窗体edit的timer的enable设为true,然后再主窗体&加了一个将播放窗edit.Opacity&=&0;
//播放控制(需要播放哪些页面)
&&&&&&&&private&void&timer2_Tick(object&sender,&EventArgs&e)
&&&&&&&&&&&&List&BoardPage&&boardPage&=&board.GetPageNoIsused(Init.GetHushisiteIdByIp());//获取存放需要显示播放的页号和显示时间&&&&
&&&&&&&&&&&&if&(boardPage.Count&&&0)
&&&&&&&&&&&&{
&&&&&&&&&&&&&&&&//设置新的时间
&&&&&&&&&&&&&&&& edit.Opacity&=&0;//新加的&&&&&&&&&&&&&&&&edit.tpPages.SelectedIndex&=&boardPage[_playIndex].PageNo&-&1;
&&&&&&&&&&&&&&&&timer2.Stop();
&&&&&&&&&&&&&&&&timer2.Interval&=&boardPage[_playIndex].IsTime&*&1000;
&&&&&&&&&&&&&&&&if&(++_playIndex&&=&boardPage.Count())
&&&&&&&&&&&&&&&&&&&&_playIndex&=&0;
&&&&&&&&&&&&&&&&timer2.Start();
&&&&&&&&&&&&}
&&&&&&&&&&&&GC.Collect();
这样窗体不会闪烁了,但是在每次播放下一页之前老是出现主窗体,如果将主窗体最小化又会出现桌面,我调试了很久也没发现什么问题,请各位大侠帮忙看看我这些代码出了什么问题。谢谢。。。
没仔细看代码。如果窗口界面在40以下的话。理应不会闪。
加载控件这东东也没必要用委托或者再开个线程。这本来就是主界面应该做的事情。
没仔细看代码。如果窗口界面在40以下的话。理应不会闪。
加载控件这东东也没必要用委托或者再开个线程。这本来就是主界面应该做的事情。
嗯,我现在没有用线程了,但是出现了每次播放下一页之前会出现主界面,烦的很
is&it&a&bug?
is&it&a&bug?
no,it's&not&a&
使用这种方法是因为我在循环播放里面将透明度设为0,那么这时就要执行timer1,只有当透明度为1的时候才会出现播放页面,所以之前要显示桌面。在透明度没有达到1的时候才会看到播放页面,其实在透明度没有达到1时,播放页面已经出现了,只是看不到,但是通过这种方法能达到页面不闪烁的目的,可是又出现这种问题,烦死了。
慢慢来,静下心来看代码。。看别人的提示,会解决的。。。
慢慢来,静下心来看代码。。看别人的提示,会解决的。。。
都回复40多帖了
还没解决啊
应该还是很简单的嘛
楼上求解......我也遇到这问题!
显卡问题。
粗略的看了你的代码,感觉你的窗体上,控件很多,且控件的属性,是在程序里,循环设置的。平时程序里,我是很反对把很多控件堆砌到一个窗体上的。这么做,不卡都很难,而且内存开销大。现在,你可以试试,把那些动态添加和动态设置控件属性的代码全部注释,只留下访问数据库的代码,看会有问题么;然后,留下那些动态添加控件和设置控件属性的代码,注释掉访问数据库的代码,看有问题么。这样确定一下,问题出在哪。
粗略的看了你的代码,感觉你的窗体上,控件很多,且控件的属性,是在程序里,循环设置的。平时程序里,我是很反对把很多控件堆砌到一个窗体上的。这么做,不卡都很难,而且内存开销大。现在,你可以试试,把那些动态添加和动态设置控件属性的代码全部注释,只留下访问数据库的代码,看会有问题么;然后,留下那些动态添加控件和设置控件属性的代码,注释掉访问数据库的代码,看有问题么。这样确定一下,问题出在哪。
但是我只能这么做啊,怎么才能改善了?
唉,自己解决了,结贴。
额,有相同问题,不知道ZL是怎么解决,求教~~~~
&在窗体里加上这个
protected&override&CreateParams&CreateParams
&&&&&&&&&&&&get
&&&&&&&&&&&&{
&&&&&&&&&&&&&&&&CreateParams&cp&=&base.CreateP
&&&&&&&&&&&&&&&&cp.ExStyle&|=&0x;
&&&&&&&&&&&&&&&&return&
&&&&&&&&&&&&}
请问楼主有没解决问题?、我同样遇到这样的问题,感觉闪烁的很恼火。

我要回帖

更多关于 clover显卡侦测 的文章

 

随机推荐