c++/cli检索wpf窗口结果的最佳方式
本文关键字:结果 最佳 方式 窗口 wpf cli 检索 c++ | 更新日期: 2023-09-27 18:25:06
我有一个WPF
窗口,我从C++/cli
代码中调用它,它运行良好。我需要的是拦截用户操作的最佳方式,我的意思是,无论他是点击OK
还是Cancel
。我想做的是在我的窗口中定义一个Boolean
属性,并根据用户操作进行设置。这是我的代码:
MyWindowView^ window = gcnew MyWindowView();
System::Windows::Interop::WindowInteropHelper^ windowInteropHelper = gcnew System::Windows::Interop::WindowInteropHelper(window);
windowInteropHelper->Owner = (IntPtr)AfxGetMainWnd()->m_hWnd;
window->WindowStartupLocation = System::Windows::WindowStartupLocation::CenterScreen;
window->ShowDialog();
if ()
{
//some action
}
else
{
//
}
我还想知道我需要删除window
对象吗?
Window.ShowDialog
返回对话框结果。我看不出有任何理由以某种方式得到这个结果,这与C#或VB.NET:不同
System::Nullable<System::Boolean> result = window->ShowDialog();
if (result.HasValue)
{
// OK or Cancel
if (result.Value)
{
// OK clicked
}
else
{
// Cancel clicked
}
}
else
{
// dialog closed via system menu or Alt+F4
}
我需要删除窗口对象吗?
不,你没有。看看这个答案。