有没有办法可以将 ShowDialog() 设置为不是最顶层的?我查看了所有相关的 SO 问题,但没有一个完全符合我的情况。
我所做的是从 datagridview 按钮列打开一个新的 WinForm。这个新表单从几个 SQLite 表中提取信息,并允许用户将信息添加到单击按钮的行中。
我使用下面的代码打开 WinForm。我使用 ShowDialog() 方法,因此我可以判断用户是在表单中保存信息还是取消它。
Pay_Bill_Window paywindow = new Pay_Bill_Window(getClickedRowID);
if (paywindow.ShowDialog() == DialogResult.OK)
{
FillPendingPaymentDataGrid(dbAccess.GetPendingBills());
}
我这样做是为了告诉我是否需要重新加载 datagridview 中的信息。
用户可以填写到窗口中的信息来自其他来源,例如 Web 浏览器,因此将表单置于所有应用程序之上并不理想。
有没有办法可以阻止窗口位于所有应用程序之上(在我的一系列窗口中最上面的很好),或者有没有办法告诉用户在另一个表单上单击了哪个按钮(基本上,使用paywindow.Show()
和观看对于不同类型的退货)?
谢谢你的帮助!