在我的应用程序中,我有3种浏览本地数据的方法:
OpenFileControlUI
)RecentlyOpenedFilesUI
)FileFilterControlUI
)Theses 3控件继承自基类:
OpenFileControlUI
继承自OpenFileControl
; RecentlyOpenedFilesUI
继承自RecentlyOpenedFiles
; FileFilterControlUI
来自FileFilterControl
; 论文3个继承自同一个基础:DataBrowser
。这个类有一个toolStrip(toolStrip1
),它有一个加载数据的按钮(loadToolStripButton
)。我希望每次我的应用程序的阅读器都忙时禁用此按钮,我喜欢这样做:
protected DataBrowser()
{
InitializeComponent();
OpenFiles.Instance.ReaderStatus += ReaderStatus;
//...
}
//...
protected void ReaderStatus(ReadStatusEventArgs e)
{
loadToolStripButton.Enabled = (e.Status == ReadStatus.Ready);
}
正常触发事件,并且OpenFileControlUI
和FileFilterControlUI
正常启用/禁用按钮,但{} <}}按钮未启用而调试器告诉我 已禁用。
我添加了一个MessageBox,用于显示项目状态:RecentlyOpenedFilesUI
这是两个工作控件的结果:
这就是非工作的(你可以看到按钮没有被禁用):
我的错误是:
MessageBox.Show("The button is :" + (loadToolStripButton.Enabled ? "Enabled" : "Disabled"));
电话无效。简单问题:我该如何解决这个问题?
我称之为:
Refresh
这里是protected void ReaderStatus(ReadStatusEventArgs e)
{
loadToolStripButton.Enabled = (e.Status == ReadStatus.Ready);
MessageBox.Show("The button is :" + (loadToolStripButton.Enabled ? "Enabled" : "Disabled"));
}
文件(我只关注这个愚蠢的按钮):
DataBrowser.Designer.cs
答案 0 :(得分:2)
好的我做了很大的清洁工作:
find . -iname "bin" -type d -print0|xargs -0 rm -r --
和find . -iname "obj" -type d -print0|xargs -0 rm -r --
删除了所有愚蠢文件; 附注:如果任何人来自 VS DEV团队请仔细阅读,请确认清洁解决方案 清除真正的解决方案!