如何在 Window.Closing 事件 C# 上保持 window 打开

How to keep a window open on Window.Closing Event C#

我想知道是否有办法让 window 即使在按 X 后仍保持打开状态。这将是一种警告。当我在主 window 上按 X 时,消息框会出现错误,当我按确定时,我想 return 到主 window.

private void Window_Closed(object sender, EventArgs a)
  {
     MessageBox.Show("Hello", "Error", MessageBoxButton.OK, MessageBoxImage.Error);
  }
  private void Window_Closing(object sender, CancelEventArgs e)
  {
     e.Cancel = true;
  }

有办法吗?很抱歉解释得不好

您想要的解决方案 1:

private void Window_Closing(object sender, System.ComponentModel.CancelEventArgs e)
{
     MessageBoxResult closingMessegeBoxResult = MessageBox.Show("Is it OK to close?", "Error", MessageBoxButton.OK, MessageBoxImage.Error);
     if (closingMessegeBoxResult != MessageBoxResult.OK)
     {
         e.Cancel = true;
     }
}

这是它的图形结果:

Screen shot of result...

适用于 Pro WPF 开发人员的解决方案 2:

正在 Xaml 上制作您的 WindowStyle=" None" 并使用 StackPanel 几个按钮和堆栈面板的鼠标按下按钮事件制作您自己的关闭最小化和最大化按钮(用于移动window) 链接到此处理程序:

  private void WindowStartedMoving(object sender, MouseButtonEventArgs e)
  {
     DragMove();
  }

如果您还有其他问题,请问我:)