-Tloml 2021-11-02 15:53 采纳率: 50%
浏览 6

WinForm窗体 在Panel中循环为按钮赋值,窗口加载完毕后按钮无效

//Load中的代码

            foreach (Control c in panel1.Controls)
            {
                //button在窗体上
                Button btn = c as Button;
                if (btn != null)
                {
                    //座位是否已被占用
                    if (data.ResultValue.FirstOrDefault(p => p.SEAT_ID == btn.AccessibleDescription)?.STATE == "N")
                    {
                        btn.BackColor = System.Drawing.Color.Red;
                        btn.Enabled = false;
                        //判断位置方向
                        switch (btn.AccessibleName)
                        {
                            case "上":
                                btn.Image = Properties.Resources.座位__已占用__上;
                                break;
                            case "下":
                                btn.Image = Properties.Resources.座位__已占用__下;
                                break;
                            case "左":
                                btn.Image = Properties.Resources.座位__已占用__左;
                                break;
                            case "右":
                                btn.Image = Properties.Resources.座位__已占用__右;
                                break;
                            default:
                                break;
                        }
                    }
                    else if (data.ResultValue.FirstOrDefault(p => p.SEAT_ID == btn.AccessibleDescription)?.STATE == "Y")
                    {
                        btn.Enabled = true;
                        btn.Click += new System.EventHandler(this.ZW_Click);
                        //判断位置方向
                        switch (btn.AccessibleName)
                        {
                            case "上":
                                btn.Image = Properties.Resources.座位__未占用__上;
                                break;
                            case "下":
                                btn.Image = Properties.Resources.座位__未占用__下;
                                break;
                            case "左":
                                btn.Image = Properties.Resources.座位__未占用__左;
                                break;
                            case "右":
                                btn.Image = Properties.Resources.座位__未占用__右;
                                break;
                            default:
                                break;
                        }
                    }
                }
            }

 

效果图:

按钮无法点击

  • 写回答

1条回答 默认 最新

  • jiayuqicz 2023-01-27 01:19
    关注

    希望能把完整的工程源码打包传附件,这个才好解决。
    因为c#开发,有一些图形开发,需要用ide配置一些属性。没工程,咋定位呢?

    评论

报告相同问题?

问题事件

  • 创建了问题 11月2日

悬赏问题

  • ¥15 12864只亮屏 不显示汉字
  • ¥20 三极管1000倍放大电路
  • ¥15 vscode报错如何解决
  • ¥15 前端vue CryptoJS Aes CBC加密后端java解密
  • ¥15 python随机森林对两个excel表格读取,shap报错
  • ¥15 基于STM32心率血氧监测(OLED显示)相关代码运行成功后烧录成功OLED显示屏不显示的原因是什么
  • ¥100 X轴为分离变量(因子变量),如何控制X轴每个分类变量的长度。
  • ¥30 求给定范围的全体素数p的(p-2)/p的连乘积值
  • ¥15 VFP如何使用阿里TTS实现文字转语音?
  • ¥100 需要跳转番茄畅听app的adb命令