做MessageBox.Show(this,“Message”)vs MessageBox.Show(“Message”
本文关键字:Message MessageBox Show vs this | 更新日期: 2023-09-27 17:56:44
做MessageBox.Show(this, "Message")
与MessageBox.Show("Message")
有什么意义吗?
对话框不会默认为this
所有者吗?
更新:我的用例是通常从 win 形式的方法调用它。
MessageBox.Show(string text)
的实现方式如下:
public static DialogResult Show(string text) {
return ShowCore(null, text, String.Empty, MessageBoxButtons.OK, MessageBoxIcon.None, MessageBoxDefaultButton.Button1, 0, false);
}
在ShowCore
有一个检查,例如:
if (owner == null) {
handle = UnsafeNativeMethods.GetActiveWindow();
}
else {
handle = Control.GetSafeHandle(owner);
}
来自:参考来源 - Microsoft
因此,您的两个调用将执行相同的操作。因为this
将是活动窗口。