给公司做了一个消息广播,就是右下角挪出一个窗体的程序,基本做好,但是最头痛的和不方便的问题就是,这个窗体挪出来的时候会占焦点,这样,对于工作的人来说很垃圾,如何让这个窗体不抢焦点?求高手帮忙,据说要用hook,但是没弄懂,还请高手帮忙,就是在实例化窗体的时候,焦点就被抢掉
解决方案 »
- Margin调整控件的位置
- 谁能用简洁易懂的语言介绍下依赖属性(dependcy property)
- directx sdk for c#
- 怎样获取webbrowser1里所有的连接?
- C#中如何由Windows用户的名称获取其SID?
- asp.net 网页间传值问题
- ~~如何用Dropdownlist控件对DataGird进行数据筛选?也就是重新有条件加载DataGrid~~
- (***高手求救!)Infragistics控件中的UltraWebGrid的Quick Design出现问题--"指定的转换无效"!
- C# SocketAsyncEventArgs高并发,收到10053/10054是否必须关连接
- 为什么这个简单的程序运行没有结果?
- C# webform问题
- winform 做类似复杂表格,如何实现。
SetWindowsHookEx中HOOK安装WH_CALLWNDPROC钩子,勾掉WM_SETFOCUS就可以了应该
这样可以吗?Form2: Activated事件里这么写 public event EventHandler<EventArgs> FormActivated;
private bool IsFocus = false;
private void Form2_Activated(object sender, EventArgs e)
{
if (!IsFocus)
{
if (FormActivated != null)
{
FormActivated(this, e);
IsFocus = true;
}
}
}
Form1: Form1调用Form2,Form2得到焦点马上转移焦点 private void button3_Click(object sender, EventArgs e)
{
Form2 f = new Form2();
f.FormActivated += new EventHandler<EventArgs>(f_FormActivated);
f.Show();
} void f_FormActivated(object sender, EventArgs e)
{
this.Activate(); //当Form2得到焦点后马上转移到Form1
}
窗口弹出来后再对原窗口PostMessage 发送WM_SETFOUCUS消息,这个应该简单点