按钮上的绘制矩形中有孔

时间:2018-06-21 01:06:43

标签: c# winforms rectangles drawrectangle

我有一个主菜单,其中有三个按钮。单击第一个按钮将打开实际游戏。第二个按钮是设置,是当前的问题。第三个是“退出”按钮。

如果单击“设置”按钮,我将其禁用,因此它将禁用所有三个按钮并将可见性更改为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);但这也不起作用。任何想法都会有所帮助。

编辑: 因此,我确定该错误是由创建“保存”按钮引起的。但是我仍然不明白为什么它会导致该错误或如何修复它。

0 个答案:

没有答案