求助,C#扫雷自定义行数和列数无法刷新雷区界面怎么办

不知道起什么名的郭郭 CSDN会员 不知道起什么名的郭郭 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区
遇到了个问题,想通过用户自定义是生成扫雷界面,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();
}
...全文

相关推荐

评论 4
收藏 已收藏
分享
返回顶部
不知道起什么名的郭郭 CSDN会员
C# 111,129 成员 642,539 内容