【问题标题】:How to show text outside window on desktop如何在桌面上的窗口外显示文本
【发布时间】:2018-04-09 08:06:51
【问题描述】:
【问题讨论】:
标签:
wpf
winforms
desktop-application
【解决方案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,则不可见窗口将不会获得任务栏按钮。
【解决方案2】:
简短回答:您不能在窗口外显示控件。每个控件都需要作为某个窗口的父级。该窗口可能没有任何边框或标题栏,但您无法显示没有窗口的控件。
对于通知,您需要创建一个独立于应用程序主窗口的新窗口以在其中显示标签。然后,您可以在想要显示通知时显示和隐藏此窗口,即使您的主窗口是隐藏。