求助,C#扫雷自定义行数和列数无法刷新雷区界面怎么办
遇到了个问题,想通过用户自定义是生成扫雷界面,Form2为自定义扫雷行数和列数窗口,窗口中有确定按钮,我在Form2中设置了一个bool isSure变量判断用户是否点击确定按钮,还设置了hang变量获取用户自定义输入的扫雷界面行数,Form1为主窗口,Form1中设置LeiBtn类中的x变量表示界面行数。现在的问题是在自定义窗口中设置完行数和列数后,主窗口雷区的界面不刷新,仍为初始状态。请大神们帮着看看怎么办呀!!
代码如下:
Form2.cs:
private void Button1_Click(object sender, EventArgs e)
{
isSure=true;
Form1 f = new Form1();
f.Defined();// Defined函数为显示雷区函数
this.Close();
}
Form1.cs:
public void Defined()
{
if (Form2.isSure == true)
{
MessageBox.Show("条件1");
LeiBtn.x = Form2.hang;
LeiBtn.y = Form2.row;
DisplayMine();
foreach (Control obj0 in this.Controls)
{
this.Controls.Clear();
}
}
else
{
MessageBox.Show("初始状态");
LeiBtn.x = 10;//雷区初始状态行数为10
LeiBtn.y = 10;//雷区初始状态列数为10
DisplayMine();
}
}
public void DisplayMine()
{
for (int i = 0; i < LeiBtn.x; i++)
{
for (int j = 0; j < LeiBtn.y; j++)
{
LeiBtn btn = new LeiBtn();
btn.Size = new Size(25, 25);
btn.Location = new Point(20 + i * 25, 80 + j * 25);
this.Controls.Add(btn);
}
}
}
private void Form1_Load(object sender, EventArgs e)
{
Defined();
}