按钮标签属性
本文关键字:属性 标签 按钮 | 更新日期: 2023-09-27 18:11:59
foreach (Control c in this.Controls)
{
if (c is Button)
{
Button b = (Button)c;
if (b.Tag.Equals("submit") && b.Tag.Equals("save"))
{
b.Visible = false;
}
}
}
我试图隐藏这些标签属性按钮其他将显示在表单加载这是我的代码,它不工作。但错误显示"对象引用未设置............"
问题1:您是否实际将Tag
设置为任何内容?
问题2:为什么使用Tag
而不是按钮实例本身?
问题3:Tag
如何同时是一个值和另一个值?
关于问题2):你可以这样做
if (c == btnSubmit) { ... }
if (c == btnSave) { ... }
假设您在属性中命名了两个按钮。这也是我推荐的解决方案!
关于问题3:你的代码应该(可能)读作if (b.Tag.ToString().Equals("submit") || b.Tag.ToString().Equals("save"))
{
b.Visible = false;
}
让我吃惊的是,你的整个代码可以重构如下,假设按钮被相应地命名:
btnSubmit.Visible = false;
btnSave.Visible = false;
No loop, No nothing!默认情况下,窗体上的每个控件在类中也有一个实例成员(除非您在控件的属性中配置它)。那么,为什么要循环遍历表单上的所有控件(顺便说一句,如果按钮在Panel
内,甚至不能工作),只是为了找到两个按钮,当您可以"按其名称调用它们"时隐藏在首位?