小弟不才,请教各位大大。
我在程序中弹出了如下MessageBox窗体作为提示信息: MessageBox.Show(msg, "提示", MessageBoxButtons.OK, MessageBoxIcon.Information);可是当程序执行到这里时,MessageBox并不总是弹出到最前。于是考虑使用win32的API将弹出的MessageBox手动置最前如下: int i = FindWindow(null, "提示");
IntPtr hWnd = new IntPtr(i);
SetWindowFront(hWnd);可是,在调试的时候又发现当程序执行到MessageBox的时候就会停住了,后面的操作都需要等弹出的窗体点OK之后才会执行,那样也就没有意义了。我考虑能不能将这里改为多线程执行,或者有其他更好的办法?望赐教。
我在程序中弹出了如下MessageBox窗体作为提示信息: MessageBox.Show(msg, "提示", MessageBoxButtons.OK, MessageBoxIcon.Information);可是当程序执行到这里时,MessageBox并不总是弹出到最前。于是考虑使用win32的API将弹出的MessageBox手动置最前如下: int i = FindWindow(null, "提示");
IntPtr hWnd = new IntPtr(i);
SetWindowFront(hWnd);可是,在调试的时候又发现当程序执行到MessageBox的时候就会停住了,后面的操作都需要等弹出的窗体点OK之后才会执行,那样也就没有意义了。我考虑能不能将这里改为多线程执行,或者有其他更好的办法?望赐教。
if(choice==DialogResult.Yes)
{
.......
}
Window owner,
string messageBoxText,
string caption,
MessageBoxButton button
)
IntPtr hWnd = new IntPtr(i);
SetWindowFront(hWnd);
这都用了 还不会用 SendMessage(ah.ToInt32(), (uint)0x0201, 0, 0x012b01bf);
SendMessage(ah.ToInt32(),(uint) 0x0202, 0, 0x012b01bf);
int i = FindWindow(null, "提示");
IntPtr hWnd = new IntPtr(i);
SetWindowFront(hWnd);
=============
不过没多大意义