WPF:窗体置顶

1、设置窗体TopMost属性

private DispatcherTimer timer;

public Window1()
{
    InitializeComponent();
    Loaded += new RoutedEventHandler(Window1_Loaded);
}

void Window1_Loaded(object sender, RoutedEventArgs e)
{
    timer = new DispatcherTimer();
    timer.Interval = TimeSpan.FromSeconds(1);
    timer.Tick += timer1_Tick;
    timer.Start();  

  //....

  //timer.Stop();
}

private void timer1_Tick(object sender, EventArgs e)
{
    //定时处理

  this.TopMost = true;
}

2、设置窗体Owner

WindowInteropHelper mianHanel = new WindowInteropHelper(MainWindow.Current);
WindowInteropHelper vedioWin = new WindowInteropHelper(this);
WindowInteropHelper FrameWin = new WindowInteropHelper(FrameWindow);
FrameWin.Owner = IntPtr.Zero;
mianHanel.Owner = vedioWin.Handle;
vedioWin.Owner = FrameWin.Handle; 

3、

时间: 2024-10-27 08:35:11

WPF:窗体置顶的相关文章

019 [工具软件]窗体置顶 DeskPins

DeskPins:Windows下将任何窗体置顶的工具 官方主页:https://efotinis.neocities.org/deskpins/index.html 官方下载的是一个exe安装包,用7zip直接提取即可用,不需要安装. 该软件使用简单,双击运行以后,单击托盘图标,鼠标变成一个图钉的样式,然后点击你想置顶的窗体任何部位即可. 窗体置顶以后,在右上角显示一个红色的图钉. 单击窗体右上角的红色图钉,即可取消置顶.此操作也可以通过快捷键ctrl+f11设置. 该软件作者已经开源,网址:

Delphi窗体置顶及失去焦点后取得焦点

unit u_FrmTopMostActive; interface uses Winapi.Windows; implementation // 窗体置顶 procedure SetXwForegroundWindow(AHandle: Thandle); var hFgWin: Thandle; hFgThread: Thandle; begin ShowWindow(AHandle, SW_NORMAL); hFgWin := GetForegroundWindow; hFgThread

C#控件、窗体置顶

//控件置于顶层和底层 panel.BringToFront();//置于顶层 panel.SendToBack();//置于底层 //窗体置顶 TopMost = true;

WinFrom窗体始终置顶

调用WindowsAPI使窗体始终保持置顶效果,不被其他窗体遮盖: [DllImport("user32.dll", CharSet = CharSet.Auto)] private static extern int SetWindowPos(IntPtr hWnd, int hWndInsertAfter, int x, int y, int Width, int Height, int flags); /// <summary> /// 得到当前活动的窗口 /// &

wpf 窗口最小化后,触发某事件弹出最小化窗口并置顶

//如果窗口最小化了弹出并置顶----事件触发调用 ShowWindowAsync(new System.Windows.Interop.WindowInteropHelper(CommonHelper.view).Handle, 1); SetForegroundWindow(new System.Windows.Interop.WindowInteropHelper(CommonHelper.view).Handle); [System.Runtime.InteropServices.Dll

WPF 打开第三方程序并让程序窗口置顶

需要用到几个Win32函数: FindWindow GetWindowRect SetWindowPos //获取第三方程序窗口句柄 IntPtr hwnd = (IntPtr)Win32.FindWindow(null, "第三方程序窗口标题"); //获取窗口的位置和大小 Win32.GetWindowRect(hwnd, out rect); //设置窗口位置,第二个参数的意思是置顶,最后一个参数的意思是不可改变大小 Win32.SetWindowPos(hwnd, -1, re

WPF实现只打开一个窗口,并且重复打开时已经打开的窗口置顶

内容来自:https://codereview.stackexchange.com/questions/20871/single-instance-wpf-application 第一步:添加System.RunTime.Remoting引用 第二步:新建一个类class1.cs(按自己想法命名) using System; using System.Collections; using System.Collections.Generic; using System.ComponentMode

2016.5.30实现透明Panel及控件置顶的方法

想放置一个透明Panel在某控件上端,实现效果是可透过此Panel看见下面控件,但鼠标点击却无任何反应. 1.新建置自定义Panel类 using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Windows.Forms; using System.Drawing; namespace NavDataManager { public class MyTran

WinForm始终置顶并获取焦点

使一个Winform始终置顶很简单,只要将这个Form的TopMost属性设置为True即可,但是强制让其获取焦点就比较麻烦了. 最开始的想法在Deactivate事件(Form处于非活动状态时)中,加入如下代码: this.Activate();//this为当前窗体            this.Focus(); 但是发现断点调试的时候OK,但是一旦取消断点,运行起来就发现不行了.最后想到用Timer控件来完成这样的功能.发现使用Timer后,就可以使Form永久的处于活动状态了.具体方法