我有一个主菜单,其中有三个按钮。单击第一个按钮将打开实际游戏。第二个按钮是设置,是当前的问题。第三个是“退出”按钮。
如果单击“设置”按钮,我将其禁用,因此它将禁用所有三个按钮并将可见性更改为false。然后,我用它绘制一个填充的矩形。
代码:
private void btnMenuSettings_Click(对象发送者,EventArgs e)
{
btnMenuPlay.Visible = false;
btnMenuPlay.Enabled = false;
btnMenuSettings.Visible = false;
btnMenuSettings.Enabled = false;
btnMenuExit.Visible = false;
btnMenuExit.Enabled = false;
图形矩形= CreateGraphics();
SolidBrush grayColor =新的SolidBrush(Color.Gray);
矩形.FillRectangle(grayColor,160,5,300,540);
//创建一个Button对象
saveSettingButton = new Button();
//按钮属性
saveSettingButton.Width = 107;
saveSettingButton.Height = 42;
saveSettingButton.Location =新Point(255,500);
saveSettingButton.Text =“保存”;
saveSettingButton.BackColor = Color.Red;
//添加按钮Click事件处理程序
saveSettingButton.Click + =新的EventHandler(saveSettingButton_Click);
//将按钮添加到表单。按钮的位置
//将基于按钮的位置和大小
Controls.Add(saveSettingButton);
}
禁用并隐藏按钮后,将绘制矩形。但是矩形在以前的按钮上有孔。
那么我将如何固定矩形中的孔,以便完整填写。我尝试在绘制矩形之前将按钮移动到新位置,但这并不能解决问题。我也尝试做Controls.Remove(allthreebuttons);但这也不起作用。任何想法都会有所帮助。
编辑: 因此,我确定该错误是由创建“保存”按钮引起的。但是我仍然不明白为什么它会导致该错误或如何修复它。