C# 为什么第一个messageBox可以其他的就不行啊,大神帮忙啊

namespace Bank
{
public partial class Form5 : Form
{
string str;
public Form5()
{
InitializeComponent();
}
public Form5(string s)
{
this.str = s ;
MessageBox.Show(str );
}
private void Form5_Load(object sender, EventArgs e)
{
string b="ddddd";
Form5 fo = new Form5(b );
MessageBox.Show(str);
ListViewItem li = new ListViewItem();
li.Text = DateTime.Now.ToString();
li.SubItems.Add(str);
this.listView1.Items.Add(li);
}
}
}

看着都可以显示
Form5_Load有没有绑定上form.load?
在InitializeComponent();后面加上
this.Load += Form5_Load;

还是不显示,而且每一个框会弹出两次

图片说明
第二个messageBox弹出的是这样的

我之前好像弄过 也忘了 在窗体加载的时候弹出对话框就会导致界面崩掉

messagebox.show阻塞

messagebox.show阻塞