如何创建WinForm应用程序(C#)中已存在的面板列表
本文关键字:存在 列表 应用程序 何创建 创建 WinForm | 更新日期: 2023-09-27 18:22:01
上下文:我正在为一个基于web的应用程序创建模型。我使用WinForms应用程序来完成此操作。将来我会使用WebForms,但我相信这两个问题都适用。
问题:我有透明的面板,我把它放在网页大小的图片框上。这些面板充当可点击的"链接",可以"导航"到"页面"。
事实上,当点击面板时,图片框(用作背景)变为不同网页的截屏,从而呈现网络导航的外观。这些面板充当了用户点击导航对象的遮罩。
我想把这些现有的小组加入一个列表,以便对它们进行更改。例如,我想将它们的.Enabled属性设置为false;一句话。
我目前通过这样做来实现这一点:
public void TurnOffPanels()
{
aPnl.Enabled = false;
bPnl.Enabled = false;
cPnl.Enabled = false;
dPnl.Enabled = false;
ePnl.Enabled = false;
fPnl.Enabled = false;
{
我的问题是:如何使用我的面板列表对其进行编码?
附言:这是我在这里的第一个问题,所以请随意斥责我的格式,noobness。。。是什么
哦,好吧,我不会在实体模型中使用winforms应用程序。有很多廉价的实体模型应用程序,比如balliq之类的,或者gimp,如果你想提供视觉帮助的话。
然而,我认为你的意思是说你正在开发winforms中的"原型"。原型允许人们进行交互,而实物模型只是平面图像。
无论如何,如果你想隐藏一个面板列表,你可以在你想要闪烁的面板的代码中创建一个字段,然后对它进行操作。
iE:
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;
}
}
}
编辑:你的问题格式也很好,你给出了很多细节。就第一个问题而言,干得好!
如果面板是相同形式的Childrens,则:
foreach(Panel p in this.Controls)
p.Enabled = false;