gpt4 book ai didi

C# VS : How to make the changes constant every time the form is loaded

转载 作者:太空宇宙 更新时间:2023-11-03 16:21:23 27 4
gpt4 key购买 nike

我正在使用 Visual Studio C# 制作一个简单的程序

该程序是关于车库预订系统的。在预订表格中,用户将从下拉列表中选择一个级别,然后将根据他的要求显示 10 个标签。用户将点击他需要的位置(标签上现在有汽车图像 - 意味着位置已保留 - )然后取票。

我的问题是,当用户返回主页并返回预订表格,并再次选择他之前选择的相同级别时。标签将显示为干净和空的,因为之前没有人预订过。

我的问题是,让标签图像和文本发生变化并且在每次加载表单时都不会恢复到默认值的最佳方法是什么?

我声明了两个标签数组,实际上我添加了20个不可见标签。

public partial class Form3 : Form
{

Label[] level1 = new Label[10];
Label[] level2 = new Label[10];

然后我在构造函数中分配了标签:

public Form3()
{

InitializeComponent();
label4.Click += new EventHandler(SpotChosen);
label5.Click += new EventHandler(SpotChosen);
label6.Click += new EventHandler(SpotChosen);
label7.Click += new EventHandler(SpotChosen);
label8.Click += new EventHandler(SpotChosen);
label9.Click += new EventHandler(SpotChosen);
label10.Click += new EventHandler(SpotChosen);
label11.Click += new EventHandler(SpotChosen);
label12.Click += new EventHandler(SpotChosen);
label13.Click += new EventHandler(SpotChosen);

label14.Click += new EventHandler(SpotChosen);
label15.Click += new EventHandler(SpotChosen);
label16.Click += new EventHandler(SpotChosen);
label17.Click += new EventHandler(SpotChosen);
label18.Click += new EventHandler(SpotChosen);
label19.Click += new EventHandler(SpotChosen);
label20.Click += new EventHandler(SpotChosen);
label21.Click += new EventHandler(SpotChosen);
label22.Click += new EventHandler(SpotChosen);
label23.Click += new EventHandler(SpotChosen);

level1[0] = label4;
level1[1] = label5;
level1[2] = label6;
level1[3] = label7;
level1[4] = label8;
level1[5] = label9;
level1[6] = label10;
level1[7] = label11;
level1[8] = label12;
level1[9] = label13;

level2[0] = label14;
level2[1] = label15;
level2[2] = label16;
level2[3] = label17;
level2[4] = label18;
level2[5] = label19;
level2[6] = label20;
level2[7] = label21;
level2[8] = label22;
level2[9] = label23;


}

最佳答案

每次加载表单时,标签都会重新呈现,并且它们会采用您为其设置的默认值。

有许多方法可以让您保留所拥有的控件的最后状态。基本上,当预订表格关闭时,您需要在内存中存储标签状态的标志。这可以在 Form_unload 事件上完成,您可以使用的一种技术是将它们保存在静态字典中,其中字符串键可以是标签 ID,而 SomeFlagType 是您用来标记此“Spot is reserved”的某种类型,如果我没有误会你的话。因此,您的值可以是一个 bool 标志,甚至可以是您存储在您想要保留的控件中的一个值。

在 Form_Load 事件中,您可以通过标签的 ID“查询”字典并返回标志或值并将其应用于标签。

如果是多用户的client-server环境,你想把你的静态字典存储在server端,供大家查询,方法会稍微不同。

关于C# VS : How to make the changes constant every time the form is loaded,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13761893/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com