如何在桌面上的窗口外显示文本

时间:2018-04-09 08:06:51

标签: wpf winforms desktop-application

我试图制作一个简单的应用程序,在屏幕中间显示提醒(只是一个文本标签)。如何在窗外显示?我试图让设置最小化的主窗口,而标签在特定时间显示在屏幕中间。我试图在WPF中实现这一点,但如果不可能,我将转移到Winforms。

编辑:

我将使用此处的技术使窗口透明:How to create a semi transparent window in WPF that allows mouse events to pass through但是如何隐藏窗口的任何标志,并使标签可见?

2 个答案:

答案 0 :(得分:1)

您可以通过调用Show()方法在透明的隐形窗口中显示标签,而不是尝试在窗口外显示某些内容"

private void Button_Click(object sender, RoutedEventArgs e)
{
    Window window = new Window();
    window.WindowStyle = WindowStyle.None;
    window.WindowStartupLocation = WindowStartupLocation.CenterScreen;
    window.AllowsTransparency = true;
    window.Background = Brushes.Transparent;
    window.SizeToContent = SizeToContent.WidthAndHeight;
    window.ShowInTaskbar = false;
    window.Content = new TextBlock() { Text = "Floating...", FontSize = 20, Foreground = Brushes.Red };
    window.Show();
}

您可以在不影响浮动标签的情况下最小化主窗口,并且如果您将ShowInTaskbar属性设置为false,则不可见窗口不会获得任务栏按钮。

答案 1 :(得分:0)

简答:您无法在窗口外显示控件。每个控件都需要成为某个窗口的父级。该窗口可能没有任何边框或标题栏,但您无法在没有窗口的情况下显示控件。

对于通知,您需要创建一个与应用程序主窗口分开的新窗口以显示标签。然后,只要您想显示通知,即使主窗口是,您也可以显示和隐藏此窗口。隐藏。