C# 如何判断显示了show或ShowDialog
时间: 2023-10-05 18:05:27 浏览: 62
在C#中,可以通过检查窗体的Modal属性来判断窗体是使用Show()方法还是ShowDialog()方法显示的。Modal属性为true表示窗体是使用ShowDialog()方法显示的,Modal属性为false表示窗体是使用Show()方法显示的。
以下是示例代码:
```
if (myForm.Modal)
{
// 窗体是使用ShowDialog()方法显示的
}
else
{
// 窗体是使用Show()方法显示的
}
```
如果您想要在窗体的代码中判断当前窗体是使用Show()方法还是ShowDialog()方法显示的,您可以在窗体的构造函数中添加一个参数,用于指示窗体是使用Show()方法还是ShowDialog()方法显示的。
以下是示例代码:
```
public partial class MyForm : Form
{
private bool _isDialog;
public MyForm(bool isDialog)
{
InitializeComponent();
_isDialog = isDialog;
}
private void MyForm_Load(object sender, EventArgs e)
{
if (_isDialog)
{
// 窗体是使用ShowDialog()方法显示的
}
else
{
// 窗体是使用Show()方法显示的
}
}
}
```
然后,您可以在创建窗体时传入一个参数,以指示窗体是使用Show()方法还是ShowDialog()方法显示的。
以下是示例代码:
```
// 创建一个使用Show()方法显示的窗体
MyForm myForm = new MyForm(false);
myForm.Show();
// 创建一个使用ShowDialog()方法显示的窗体
MyForm myDialog = new MyForm(true);
myDialog.ShowDialog();
```