Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/320.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 将按钮与对象数组中的特定对象关联_C#_Winforms_Class_Object_Button - Fatal编程技术网

C# 将按钮与对象数组中的特定对象关联

C# 将按钮与对象数组中的特定对象关联,c#,winforms,class,object,button,C#,Winforms,Class,Object,Button,使用C#和Visual Studio 2017 基本上,我正在设计一个允许用户预订座位的程序。我可以通过强制(或多或少)让它工作,但必须有更好的方法 每个按钮代表一个座位,当点击时-如果座位尚未预订-用户将填写他们的信息,并能够预订座位。如果座位已经预订,它将显示先前预订座位的人的详细信息(名字、姓氏等)——我目前已将其存储在数组中 是否有方法将每个按钮与数组中的对象关联?预定座位很容易,但是点击预定座位来显示详细信息(或者删除预定并释放座位)是我认为我可以比现在更有效率的部分 即,如果单击座椅

使用C#和Visual Studio 2017

基本上,我正在设计一个允许用户预订座位的程序。我可以通过强制(或多或少)让它工作,但必须有更好的方法

每个按钮代表一个座位,当点击时-如果座位尚未预订-用户将填写他们的信息,并能够预订座位。如果座位已经预订,它将显示先前预订座位的人的详细信息(名字、姓氏等)——我目前已将其存储在数组中

是否有方法将每个按钮与数组中的对象关联?预定座位很容易,但是点击预定座位来显示详细信息(或者删除预定并释放座位)是我认为我可以比现在更有效率的部分


即,如果单击座椅A1并输入详细信息,则座椅将保留。稍后,其他座位将被预订。如果我想返回并查看A1或删除预订,我如何将按钮A1与存储在阵列中的数据相关联。

这只是为了提供一个我使用过的解决方案,感谢上面对
列表的评论(Jimi)
建议

下面的示例显示了显示预订座位详细信息的代码。然后将
字符串
“firstName”、“lastName”等放入另一个文本框中显示。所有座位都被组织到一个
列表中
,其中填充了类型为“seat”的类对象,它们具有代码中可以看到的所有属性

单击按钮时,它将填充
txtSeatSelected
文本框,然后使用该文本框根据seatID字符串匹配相应的座位

foreach (var seat in seatsList)
        {
            if (seat.seatID == txtSeatSelected.Text)
            {
                firstName = seat.firstName;
                lastName = seat.lastName;
                address = seat.address;
                city = seat.city;
                province = seat.province;
                postalCode = seat.postalCode;
            }
        }
该代码的类似迭代在整个程序中使用,以根据情况查找我希望在整个程序中修改的对象


感谢留言者的帮助。

不要使用数组。构建一个引用所有所需详细信息的专用类,创建一个
列表
,并为您创建的每个
按钮
以及相关详细信息添加一个
新的SpecializedClass()
。然后,您可以以任何方式过滤/搜索
列表
:按按钮(使用其名称、标记值、选项卡索引等)、人名、座位号。。。类属性引用的任何内容。问题主题和您的配置文件暗示这是类赋值。因此,您可能对允许使用的数据结构有限制。您已指示正在使用对象数组。如果您只能使用数组,您应该在问题中说明这一点,这样我们就不会浪费时间提出不相关的建议。您可以使用按钮的
标记
属性。但我不会在数组中存储任何内容。为什么不将
座位ID
存储在按钮的标签中,然后单击从标签中使用
座位ID
从数据库中获取所需信息?@TnTinMn这是一项任务,但我们对允许使用的内容没有任何限制,如果有任何此类限制(如您所说),我会提到它们。重点是UI设计,但很明显,我也希望代码从“良好设计”的角度尽可能发挥功能。@Jimi你能详细说明一下我将如何实现这一点吗?所有按钮都有一个
标记值
,我创建了一个包含座椅详细信息的类(我最初是将这些信息存储在数组中,但列表听起来好多了)。这个问题可能看起来很傻,但我什么时候创建一个
新的SpecializedClass()
?我会在程序开始时为每个按钮/座位初始化一个吗?