0

亲爱的 Stackoverflow 用户您好。

我有一个在 Winforms 中制作的项目,我创建的用户控件有问题。用户控件由一些布局面板、控件等组成。它旨在用作设置控制器。它具有一些用于更改用户控件的设计/布局的属性,例如“ShowTitle”属性和“ShowDefault”属性,默认设置为“true”。属性 get/set 直接引用底层 control.visibility。

用户控件被放置在选项卡控件中以提供设置概述,但是(几乎)每次我重建解决方案时,设计器中当前未显示的选项卡页面中的用户控件都将其所有“显示...”属性更改为'错误的'。

如果我删除设计器中的设置: this.SpawnRate.ShowDefaultButton = false; 如果我重建时再次弹出。

我真的不知道出了什么问题,我已经找了好几个小时的代码。有谁知道问题可能出在哪里?

//淘气

编辑:只有引用 control.visibility 属性的属性才会改变它们的值

更新:

发现问题了......显然我不能像这样直接返回 Control.Visible 值:

bool ShowBtn
{
get{ return Btn_Default.Visible; }
set{ Btn_Default.Visible = value; }
}

但必须有一个局部变量:

bool ShowBtn
{
get{ return _ShowDefault; }
set{ Btn_Default.Visible = value;
     _ShowDefault = value; }
}
bool _ShowDefault = true;

更改后,问题不再出现。

有谁知道为什么会出现问题?

4

1 回答 1

0

发现问题了......显然我不能像这样直接返回 Control.Visible 值:

bool ShowBtn
{
    get{ return Btn_Default.Visible; }
    set{ Btn_Default.Visible = value; }
}

但必须有一个局部变量:

bool ShowBtn
{
    get{ return _ShowDefault; }
    set
    {
        Btn_Default.Visible = value;
        _ShowDefault = value; 
    }
}
bool _ShowDefault = true;

更改后,问题不再出现。

于 2012-12-06T10:12:02.053 回答