C#窗体任务栏图标关于notifyIcon问题,看说明

为了实现双击任务栏图标让主窗体显示出来,我在双击任务栏图标中写了如下代码:this.ShowInTaskbar=true;this.WindowState=FormWin... 为了实现双击任务栏图标让主窗体显示出来,我在双击任务栏图标中写了如下代码:
this.ShowInTaskbar = true;
this.WindowState = FormWindowState.Normal;
但是有一个问题,(不关闭C#应用程序的前提下),当我进行别的操作后,(如,双击下我的电脑或者打开IE浏览器),当我再次双击任务栏图标时,此应用程序能够显示出来,但是在它IE浏览器的后面,我根本看不到它,只有让IE最小化了才能看到.我想实现的功能就是,当我双击任务栏图标时,它能够显示在一切应用程序的最上一层.如果我加上一条: this.TopMost = true;它会总是显示在最上一层了,我再打开一个IE,它会把IE遮住了,也不行,怎么解决?
展开
 我来答
lcg1986
2008-07-28 · TA获得超过3374个赞
知道大有可为答主
回答量:1858
采纳率:90%
帮助的人:1617万
展开全部
if (this.WindowState == FormWindowState.Minimized)
{
this.WindowState = FormWindowState.Normal;
this.Focus();
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友d905a4a
2008-07-28 · TA获得超过115个赞
知道小有建树答主
回答量:438
采纳率:0%
帮助的人:237万
展开全部
关注
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
花团锦簇ZE
2008-07-28 · TA获得超过799个赞
知道小有建树答主
回答量:889
采纳率:50%
帮助的人:181万
展开全部
这个需要调用本地API 使他弹出来 而不是让他一直置顶
//在类中调用Windows API
//设置此窗体句柄的窗体为活动窗体
[System.Runtime.InteropServices.DllImport("user32.dll", CharSet = System.Runtime.InteropServices.CharSet.Auto, ExactSpelling = true)]
public static extern IntPtr GetForegroundWindow(); //获得当前活动窗体的句柄
[System.Runtime.InteropServices.DllImport("user32.dll", EntryPoint = "SetForegroundWindow")]
public static extern bool SetForegroundWindow(IntPtr hWnd);

//调用
IntPtr handle=Handle;
if (handle!= GetForegroundWindow()) //获取当前活动窗体
SetForegroundWindow(handle); //如果不是,强制把自己的设置为活动窗体

调用可以在Timer中运行,把Timer设置一个间隔值,随便
Timer一段时间就会去检查一遍.....如果自己没有被顶置,那么把自己顶置
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式