如何询问用户是否使用另一个 WPF 窗口关闭项目?

用户9284186

这是 MainWindow xaml 代码。

<Window x:Class="MainWindow" 
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" 
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" 
    Name="MainWindow" 
    Height="300" 
    Width="500">
</Window> 

这是 Window1 xaml 代码。

<Window x:Class="Window1"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Name="Window1" 
Height="200" 
Width="500">

<Grid>
    <DockPanel LastChildFill="False">
        <TextBlock DockPanel.Dock="Top" HorizontalAlignment="Stretch" TextWrapping="Wrap" TextAlignment="Justify" Margin="10,20,10,0">
            <TextBlock.Inlines>
                <Run Name="Inline1" Text="Message"/>
            </TextBlock.Inlines>
        </TextBlock>

        <DockPanel DockPanel.Dock="Bottom" LastChildFill="False">
            <Button Name="Button1" Content="No" Width="70" DockPanel.Dock="Right"/>
            <Button Name="Button2" Content="Yes" Width="70" DockPanel.Dock="Right"/>
        </DockPanel>
    </DockPanel>
</Grid>
</Window>

这是 MainWindow vb 代码。

Class MainWindow

Private Sub MainWindow_Closing(sender As System.Object, e As System.ComponentModel.CancelEventArgs) Handles MyBase.Closing
    Dim myWindow As New Window1()
    myWindow.Owner = Application.Current.MainWindow
    myWindow.Inline1.Text = "Do you really want to quit?"
    myWindow.ShowDialog()
    e.Cancel = True
End Sub

End Class

这是 Window1 vb 代码。

Public Class Window1

Private Sub Button2_Click(sender As System.Object, e As System.Windows.RoutedEventArgs) Handles Button2.Click
    System.Windows.Application.Current.Shutdown()
End Sub

Private Sub Button1_Click(sender As System.Object, e As System.Windows.RoutedEventArgs) Handles Button1.Click
    Me.Close()
End Sub

End Class

1-运行这个项目。

2- 单击X以关闭此项目。

3-当项目询问您是否真的要退出时,单击按钮?

4- 见以下错误;

https://prnt.sc/ih9l5f

我想(如果我错了,请纠正我)您想从 [Window1] 接收回输入,这有点像要求关闭的消息框?所以我想有几个按钮 [Yes]/[No] [Confirm]/[Dont Shutdown] 用户点击了?

如果是这样......在Window1类中声明一个公共布尔值,然后在关闭或应用程序关闭之前根据需要将布尔值设置为true / false。

Public Class Window1
Public Confirmed as boolean = false

'I have set to default as boolean as the user could theroretically close the
'form and not click on either button!?

Private Sub Button2_Click(sender As System.Object, e As System.Windows.RoutedEventArgs) Handles Button2.Click
    Confirmed = true
    ''System.Windows.Application.Current.Shutdown()
    me.close
End Sub

Private Sub Button1_Click(sender As System.Object, e As System.Windows.RoutedEventArgs) Handles Button1.Click
    Confirmed = false
    Me.Close()
End Sub

End Class



Class MainWindow

Private Sub MainWindow_Closing(sender As System.Object, e As System.ComponentModel.CancelEventArgs) Handles MyBase.Closing
    Dim myWindow As New Window1()
    ''myWindow.Owner = Application.Current.MainWindow ''I dont know why you need this?
    myWindow.Inline1.Text = "Do you really want to quit?"
    myWindow.ShowDialog()
    if mywindow.confirmed then
         System.Windows.Application.Current.Shutdown()
         ''or simply..
         ''application.exit()
    else
         e.Cancel = True
    end if

End Sub

End Class

这绝不是唯一的方法,请不要将此答案视为完全正确,因为您的情况可以通过多种方式实现,其中一种方式是您已经完成的方式。老实说,我可以看到为什么/如何在 showdialog 上发生错误,但是删除窗口并在 MainWindow 中处理会消除 Window1 的问题/错误。

希望这在某种程度上有所帮助 鸡

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何使用WPF和MVVM模式从窗口获取数据到另一个

来自分类Dev

如何使用 wpf 中的 inotifypropertychanged 事件从另一个窗口更新属性

来自分类Dev

如何在WPF中从一个窗口移到另一个窗口?

来自分类Dev

如何在WPF中使用另一个项目的资源?

来自分类Dev

从另一个WPF窗口将项目添加到列表框

来自分类Dev

从另一个 WPF 窗口继承列表

来自分类Dev

如何检查WPF窗口的打开或关闭

来自分类Dev

如何防止/关闭 WPF 窗口加载?

来自分类Dev

如何使WPF窗口保持在另一个窗口之上?

来自分类Dev

如何在WPF的同一窗口中从另一个控件调用UserControl?

来自分类Dev

如何在WPF中将对象从一个窗口绑定到另一个窗口中的另一个控件?(C#)

来自分类Dev

如何从WPF的另一个窗口中的一个窗口访问控制器

来自分类Dev

使用另一个线程在WPF中创建新窗口时的奇怪行为

来自分类Dev

从另一个更新WPF窗口(不是MainWindow)中的datagrid。*不使用MVVM *

来自分类Dev

如何在另一个项目 WPF 中引用枚举

来自分类Dev

在Wpf GridView中,如何将控件绑定到一个项目中的另一个控件

来自分类Dev

关闭WPF窗口

来自分类Dev

如何检查某个用户是否选择了另一个用户将要选择的项目?

来自分类Dev

如何将WPF窗口嵌入另一个窗口并通过XAML或代码调整其大小

来自分类Dev

如何将一个 DLL 编译按钮从一个 WPF 项目添加到另一个项目的事件处理程序?

来自分类Dev

如何“等待”另一个窗口的关闭

来自分类Dev

如何关闭另一个类的主窗口?

来自分类Dev

在wpf中关闭窗口时是否必须取消订阅事件?

来自分类Dev

如何使用JTable打开窗口并关闭另一个窗口

来自分类Dev

如何从另一个应用程序关闭WPF系统任务栏应用程序?

来自分类Dev

当下拉菜单在另一个组合框上关闭时,如何更新 WPF 组合框?

来自分类Dev

如何将应用程序控制传递给另一个WPF窗口?

来自分类Dev

如何将应用程序控制传递给另一个WPF窗口?

来自分类Dev

失去焦点时如何关闭WPF弹出窗口

Related 相关文章

  1. 1

    如何使用WPF和MVVM模式从窗口获取数据到另一个

  2. 2

    如何使用 wpf 中的 inotifypropertychanged 事件从另一个窗口更新属性

  3. 3

    如何在WPF中从一个窗口移到另一个窗口?

  4. 4

    如何在WPF中使用另一个项目的资源?

  5. 5

    从另一个WPF窗口将项目添加到列表框

  6. 6

    从另一个 WPF 窗口继承列表

  7. 7

    如何检查WPF窗口的打开或关闭

  8. 8

    如何防止/关闭 WPF 窗口加载?

  9. 9

    如何使WPF窗口保持在另一个窗口之上?

  10. 10

    如何在WPF的同一窗口中从另一个控件调用UserControl?

  11. 11

    如何在WPF中将对象从一个窗口绑定到另一个窗口中的另一个控件?(C#)

  12. 12

    如何从WPF的另一个窗口中的一个窗口访问控制器

  13. 13

    使用另一个线程在WPF中创建新窗口时的奇怪行为

  14. 14

    从另一个更新WPF窗口(不是MainWindow)中的datagrid。*不使用MVVM *

  15. 15

    如何在另一个项目 WPF 中引用枚举

  16. 16

    在Wpf GridView中,如何将控件绑定到一个项目中的另一个控件

  17. 17

    关闭WPF窗口

  18. 18

    如何检查某个用户是否选择了另一个用户将要选择的项目?

  19. 19

    如何将WPF窗口嵌入另一个窗口并通过XAML或代码调整其大小

  20. 20

    如何将一个 DLL 编译按钮从一个 WPF 项目添加到另一个项目的事件处理程序?

  21. 21

    如何“等待”另一个窗口的关闭

  22. 22

    如何关闭另一个类的主窗口?

  23. 23

    在wpf中关闭窗口时是否必须取消订阅事件?

  24. 24

    如何使用JTable打开窗口并关闭另一个窗口

  25. 25

    如何从另一个应用程序关闭WPF系统任务栏应用程序?

  26. 26

    当下拉菜单在另一个组合框上关闭时,如何更新 WPF 组合框?

  27. 27

    如何将应用程序控制传递给另一个WPF窗口?

  28. 28

    如何将应用程序控制传递给另一个WPF窗口?

  29. 29

    失去焦点时如何关闭WPF弹出窗口

热门标签

归档