让通用对话框显示在窗口最前面(C#)

原创 2004年07月12日 12:10:00

注:API函数GetForegroundWindow用来获得前台窗口的句柄,这里的“前台窗口”是指前台应用程序的活动窗口

类ForegroundWindow继承了框架提供的IWin32Window接口,并定义了一个静态的IWin32Window属性Instance,用来获得前台窗口的句柄。

public class ForegroundWindow : IWin32Window
 {
  private static ForegroundWindow _window = new ForegroundWindow();
  private ForegroundWindow(){}

  public static IWin32Window Instance
  {
   get { return _window; }
  }

  [DllImport("user32.dll")]
  private static extern IntPtr GetForegroundWindow();

  IntPtr IWin32Window.Handle
  {
   get
   {
    return GetForegroundWindow();
   }
  }
 public class Example1

{

   public void SaveFile(string str_filepath)

   {

       SaveFileDialog openfile=new SaveFileDialog();
      openfile.Title="请输入RTF文件名";
     openfile.Filter="word文档(*.rtf)|*.rtf";
     openfile.FilterIndex=0;
     openfile.ValidateNames=true;
     openfile.InitialDirectory= str_filepath;
     openfile.ShowDialog(ForegroundWindow.Instance);

  }

}

c# 进程窗口显示并前置

[DllImport("user32.dll")] private static extern bool SetForegroundWindow(IntPtr hWnd); ...
  • liufeng520
  • liufeng520
  • 2012年06月04日 16:31
  • 4472

C# 实现程序只启动一次(多次运行激活第一个实例,使其获得焦点,并在最前端显示)

防止程序运行多个实例的方法有多种,如:通过使用互斥量和进程名等.而我想要实现的是:在程序运行多个实例时激活的是第一个实例,使其获得焦点,并在前端显示. 主要用到两个API 函数: ShowW...
  • dyllove98
  • dyllove98
  • 2013年03月29日 13:30
  • 4564

c# winform窗口一直置顶显示在桌面最上方的方法

一、 在最前面: using   System.Runtime.InteropServices; 在定义部分引入下面两个函数: [DllImport( "user32 ")] p...
  • lcawen
  • lcawen
  • 2013年01月25日 10:13
  • 6931

c#中的模态对话框和非模态对话框

模态对话框 弹出窗口阻止调用窗口的所有消息响应。 只有在弹出窗口结束后调用窗口才能继续。 在模态窗口“关闭”后,可以读取模态窗口中信息,包括窗口的返回状态,窗口子控件的值。 非模态对话框 可...
  • c914620529
  • c914620529
  • 2015年08月05日 21:50
  • 5158

C#中三种弹出信息窗口的方式

本内容仅作学习复习所用,以防忘记 弹出信息框,是浏览器客户端的事件。服务器没有弹出信息框的功能。 方法一: asp.net页面如果需要弹出信息框,则需要在前台页面上注册一个jav...
  • iwaitmiracle
  • iwaitmiracle
  • 2015年10月08日 10:40
  • 1506

C#窗口间传递消息

http://blog.csdn.net/chenyuling/archive/2007/05/25/1625907.aspx 我用的方法是:见下面我在白云的帖子 发信人: CCBB (超超饱饱|酒...
  • hemeinvyiqiluoben
  • hemeinvyiqiluoben
  • 2014年12月04日 13:36
  • 886

C# 实现IAccessible学习(四)读取QQ聊天窗口记录

代码类:using QqHelper; using System; using System.Runtime.InteropServices;namespace QqRead { //参考网址...
  • xundh
  • xundh
  • 2016年06月11日 16:39
  • 4157

C# 调试方法之即时窗口输出

1,非中断模式下的调试。 利用系统“输出”窗口。(视图-输出)来打印调试信息。有Debug和Release两种版本,通过运行按钮右边的选项可以选择程序的运行方式。而对应的现实调试信息的方法也不同...
  • CNHK1225
  • CNHK1225
  • 2015年05月15日 17:12
  • 7014

c++ builder 子窗口长期前置

【Write by wood 小汤——http://blog.csdn.net/tbwood  转载请说明出处,写下来不容易】 要真正的理解和解决这个问题,确实不容易。当我花了好几天时间才搞明白...
  • shang2468
  • shang2468
  • 2013年11月22日 13:36
  • 1790

C#实现类似QQ的隐藏浮动窗体、消息闪动

功能简介   当语音客服系统登录成功进入主界面时,本聊天工具将会自动隐藏在左下角位置,当鼠标移动到左下角时,自动弹出,当鼠标移开聊天窗体时,自动隐藏。如果想让聊天窗体固定在桌面,只要拖动一下聊天窗口...
  • zouyujie1127
  • zouyujie1127
  • 2014年07月19日 22:31
  • 4544
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:让通用对话框显示在窗口最前面(C#)
举报原因:
原因补充:

(最多只允许输入30个字)