C#下重复显示托盘图标

我心依旧 2016-10-31 04:45:50

是这样的,我遇到了一个问题。

我创建了一个窗体FORM1,然后加了个NOTIFYICON控件用来显示托盘图标。

然后同时FORM1用于显示数据,然后一个FORM2用于添加数据,添加完了需要用一个委托来调用FORM1的函数来刷新FORM1上的DATAVIEW。但是用委托调用之前,有一句代码是:
frmMain frmmain = new frmMain();
然后一new就出问题了。我每次通过FORM1调用FORM2,托盘图标就会多一个,调用几次就会多几个。

不知道大神们理解问题了没,能给解答一下么?谢谢了!
...全文
508 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
我心依旧 2016-10-31
  • 打赏
  • 举报
回复
引用 1 楼 stherix 的回复:
frmMain frmmain = new frmMain(); 这句话本身就有问题 MainForm应该就只有一个 不能重复创建 你每次调用一次委托就多一个实例 肯定是不行的 你应该保留mainform的实例 并在以后进行引用 而不是每次都new一个
应该怎么做呢?有示例代码吗?谢谢了!
xiaoqiu_net 2016-10-31
  • 打赏
  • 举报
回复
icon托盘图标是只显示主界面的,检查一下代码呢。 参考上面说的
楚狂歌 2016-10-31
  • 打赏
  • 举报
回复
引用 1 楼 stherix 的回复:
frmMain frmmain = new frmMain(); 这句话本身就有问题 MainForm应该就只有一个 不能重复创建 你每次调用一次委托就多一个实例 肯定是不行的 你应该保留mainform的实例 并在以后进行引用 而不是每次都new一个
顶楼上
stherix 2016-10-31
  • 打赏
  • 举报
回复
frmMain frmmain = new frmMain(); 这句话本身就有问题 MainForm应该就只有一个 不能重复创建 你每次调用一次委托就多一个实例 肯定是不行的 你应该保留mainform的实例 并在以后进行引用 而不是每次都new一个

111,129

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Creator Browser
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

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