上下文: 我正在为基于Web的应用程序创建模型。我使用WinForms Application来做到这一点。将来我将使用WebForms,但这个问题适用于我确定。
问题: 我有透明的面板,我放在一个网页大小的图片框上。这些面板充当可点击的链接"到"导航"到"页面"。
实际上,当单击面板时,图片框(用作背景)将更改为不同网页的屏幕截图,从而呈现Web导航的外观。这些面板充当用户点击导航的东西的掩码。
我想将这些现有面板添加到列表中以便更改它们。 例如,我想将其.Enabled属性设置为false;在一个声明中。
我目前通过这样做来实现这一目标:
public void TurnOffPanels()
{
aPnl.Enabled = false;
bPnl.Enabled = false;
cPnl.Enabled = false;
dPnl.Enabled = false;
ePnl.Enabled = false;
fPnl.Enabled = false;
{
我的问题是:如何使用我的面板列表对此进行编码?
PS:这是我在这里的第一个问题,所以请随意指责我的格式,noobness ... whateves
答案 0 :(得分:2)
Oof,好吧,我不会将winforms应用程序用于模型。有很多便宜的模型应用程序,如balsamiq等,或者如果你想提供视觉辅助,那就是gimp。
然而,我认为你的意思是说你正在开发"原型"在winforms。原型允许人们进行交互,而模型只是平面图像。
无论如何,如果你想隐藏一个面板列表,你可以在你要闪烁的面板的代码隐藏中创建一个字段,然后就可以对它进行操作。
即:
public class Form {
List<Panel> myPanels = new List<Panel>();
public Form() {
myPanels.Add(aPnl);
myPanels.Add(bPnl);
//etc
}
public TurnOffPanels(){
foreach(var panel in myPanels){
panel.Enabled = false;
}
}
}
编辑:此外,您的问题格式正常,并且您提供了大量详细信息。就第一个问题而言,干得好!
答案 1 :(得分:0)
如果小组是相同形式的儿童,那么:
foreach(Panel p in this.Controls)
p.Enabled = false;