C#编程,监视弹出窗口!

作者&投稿:牟梦 (若有异议请与网页底部的电邮联系)
C#编程问题 怎么实现当点击一个button按钮时,会弹出窗口来让你查找某个文件 这段代码应该怎~

第一个窗口Form1 按钮 Button1 第二个窗口Form2 在Button1_Click 事件下 写: Form2 frm=new Form2(); frm.show(); this.close(); 在Button2_Click事件下写: Form1 frm=new Form1(); frm.show();

题主的表意不明确。

● 如果是想说,题主自己编写了一个有两个窗口的程序,在第一个窗口时弹出第二个窗口,但焦点还在第一个窗口上,那么只需要在新的窗口 Show() 之后,this.Focus(); 就可以继续让焦点在本窗口上了。

● 如果是想说,向QQ的右下角消息框一样,无论现在用户的焦点在哪个窗口,消息框弹出后都不影响焦点的变化,那么有两种方法:

要么重写需要弹出的窗体的事件:
protected override CreateParams CreateParams { get { const int WS_EX_NOACTIVATE = 0x08000000; CreateParams cp = base.CreateParams; cp.ExStyle |= WS_EX_NOACTIVATE; return cp; }}// CreateParams 在 System.Windows.Forms.Controls 命名空间下要么调用系统钩子:
// 引用系统钩子[DllImport("user32.dll")]public static extern IntPtr GetActiveWindow(); [DllImport("user32.dll")] public static extern IntPtr SetActiveWindow(IntPtr hwnd); // 在窗口弹出时做以下处理IntPtr activeForm = GetActiveWindow(); // 先得到当前的活动窗体 new form2.Show(false); // 弹出新窗体SetActiveWindow(activeForm); // 在把焦点还给之前的活动窗体

做过一个类似的,托盘区显示浮动提示并自动消失(透明度提高,自动关闭).
步聚是这样,建一个timer,当选择某个"歌曲"时不直接弹出窗口,而是启动计时器timer.start,在计时器方法中设定自动点击的时限(即打开弹出窗时倒计时,计时为0时自动关闭).
你的msg窗类,确定会启动一个方法吧?那么计时器归零时就调用这个处理方法.
注意,因为用户可能自主点击,所以自主点击时要注意关闭计时.

--------
自己试一下,要代码的话hi一下.

-----代码:hi不过去,发这儿了.
主体From From1
属性:string _itemID;//选中项的ID
控件:button btnshow
事件:
private void btnshow_Click(object sender, EventArgs e)
{
frmMsgShow obMS = new frmMsgShow (_itemID);
obMS.Show();
}
弹窗From frmMsgShow
属性:
_itemID;//传入的选中项ID
int _tmrPrm=0; //计时的辅助,计时为5秒,若窗体滞留最大为10秒,则当_tmrprm =2时关闭
控件:
Timer Timer1 //计时器 Interval设置为5000毫秒。 Enabled=true窗体打开自动计时
button btnOk //accept button
重写构造函数:
public frmMsgShow(string _initID)
{
_itemID=_initID;
...
}
事件处理
private void timer1_Tick(object sender, EventArgs e)
{
if(_tmrprm <2)
{
//时间不足
_tmrprm ++;
}
else
{
//计时完毕
addItem();
}
}

private void btnOk_Click(object sender, EventArgs e)
{
addItem();
}
方法:点击按钮或计时结束时被调用。
private void addItem()
{
//加入转入项
...
//关闭窗体
this.close();
}


渝中区19193081710: C#如何监控另一个程序在运行时是否弹出报错的对话框?
众典蒲参: 另外一个程序你无法控制么?如果两个程序都是你自己编写的,那就假如一段进程间通信的代码就行了.

渝中区19193081710: C# 如何监听键盘,符合特定条件,然后弹出提述窗口 -
众典蒲参: using System; using System.Collections.Generic; using System.Text; using System.Runtime.InteropServices; using System.Windows.Forms; namespace WindowsApplication1 {public class HotKey{//如果函数执行成功,返回值不为0.//如果函...

渝中区19193081710: c#监视器窗口从哪里打开 -
众典蒲参: 按F9设置好断点然后再F5进行调试 断点要能执行的到 你说的监视窗口是不是错误列表那个地方的那个窗口? 那好像一定会有的啊····自动出现的 什么断点,输出之类都在那

渝中区19193081710: 在windows中,只要一有窗口打开,c#程序就能马上知道,并能获得该窗口的一些信息. -
众典蒲参: 如果是进程内的窗口,,这实现起来都很简单,因为有窗口创建事件存在...如果是你自己编写的其他程序的窗口(你可以添加命名事件让别的进程可以查询到该事件)... 但如果是其他你控制不了的应用程序的话,比如一个百度网页,...

渝中区19193081710: C#中如何作出弹出式窗口效果(详细代码)
众典蒲参: C#,弹出成功信息框 //弹出成功信息框 ClientScript.RegisterStartupScript(this.GetType(), "message", "<script language='javascript' defer>alert('" + Resources.SysMsgConfirm.SY_MSG_0001S + "');</script>");

渝中区19193081710: C#如何监控桌面新打开窗口!! -
众典蒲参: 用WinAPI做

渝中区19193081710: C#弹出窗口的完整代码求教 -
众典蒲参: 你直接将弹出来的Form_mLdelete窗体设置成模式窗体不就完了么?!这样一来你要想点击button按钮打开窗体,必须先关闭当前打开的窗体才行!即就是把你贴的代码替换成: Form_mLdelete frm7 = new Form_mLdelete();frm7.ShowDialog();希望我的回答对你有所帮助,谢谢采纳!

渝中区19193081710: C#windows窗体程序编程中点击确定弹出新窗口的代码怎么写
众典蒲参: 强力推荐!楼主~这个方法可以随便点~但是只出来一个窗体!!首先你确定你有两个或两个以上的窗体.//点击按钮的时候值会显示一个窗体 bool opened = false; foreach (Form f1 in Application.OpenForms) { if (f1 is Form2) { opened = true; break; } } if (!opened) { Form2 f2 = new Form2(); f2.f1 = this;//这句代码一定要加 f2.Show(); }上面的代码里的Form2就是你要弹出的窗体名.其他你复制即可就ok了..

渝中区19193081710: C#编程问题 怎么实现当点击一个button按钮时,会弹出窗口来让你查找某个文件 这段代码应该怎 -
众典蒲参: 第一个窗口Form1 按钮 Button1 第二个窗口Form2 在Button1_Click 事件下 写: Form2 frm=new Form2(); frm.show(); this.close(); 在Button2_Click事件下写: Form1 frm=new Form1(); frm.show();

渝中区19193081710: c#MVC如何弹出窗口
众典蒲参: 自定义MessageBox 弹出消息类.原理:1.在Controller: public MessageBox MsgBox = new MessageBox(); protected override void OnActionExecuted(ActionExecutedContext filterContext) { base.OnActionExecuted(filterContext); ViewBag....

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网