如何在WinForms中创建一个阻止父窗口的窗口

本文关键字:窗口 一个 WinForms 创建 | 更新日期: 2023-09-27 18:05:39

我有一个订单表单页面内的程序,我正在构建c#与Windows窗体,我想让它这样一个用户可以添加项目到一个订单使用一个单独的弹出窗口,其中显示的产品列表从一个用户可以选择。一旦选择了一个项目,弹出窗口将关闭,并将一个项目添加到订单中,项目添加过程可以根据需要重复。

我的问题是,除了显示窗口之外,我如何将从一个表单选择的订单的详细信息传递到另一个表单?

如何在WinForms中创建一个阻止父窗口的窗口

使用对话框

如果在Form上调用.ShowDialog(),它将阻塞直到窗体关闭。

这意味着你可以做如下的事情:

// la la normal code
var itemSelect = new ItemSelectionForm();
itemSelect.ShowDialog();
// Check that they have selected something
if (itemSelect.ItemList.SelectedItem != null)
{
    // Item adding code
    // ...
    // Use itemSelect.ItemList.SelectedItem as the selected item from the popup form
}