如何创建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。。。是什么

如何创建WinForm应用程序(C#)中已存在的面板列表

哦,好吧,我不会在实体模型中使用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;