亲爱的Stackoverflow用户,您好。
我在Winforms中创建了一个项目,我在其中创建了一个用户控件的问题。 usercontrol由一些布局面板,控件等组成。它旨在用作设置控制器。它有一些属性用于更改usercontrol的设计/布局,例如“ShowTitle”属性og“ShowDefault”属性,默认设置为“true”。属性get / set引用直接指向底层的control.visibility。
用户控件被放置到选项卡控件以提供设置的概述,但是(最重要的是)每次重建解决方案时,设计器中当前未显示的选项卡页面中的用户控件都具有所有“显示...”属性改为'假'。
如果删除设计器中的设置: this.SpawnRate.ShowDefaultButton = false; 如果我重建时再次弹出。
我真的不知道什么是错的,而且我有几个小时的bug搜索代码。有没有人知道问题可能在哪里?
// Nautious
编辑:只有引用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;
更改后,问题不再发生。
任何人都知道为什么会出现这个问题?
答案 0 :(得分: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;
更改后,问题不再发生。