首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >动态创建和删除控件

动态创建和删除控件
EN

Stack Overflow用户
提问于 2014-11-25 00:59:56
回答 1查看 109关注 0票数 0

我有一个多年前用VB6写的程序,运行得很好。然而,我需要把所有的应用程序都转移到.NET上,我在这方面还是个新手,编程也不是我的主要工作。我是一名空中交通管制员:)我进行了广泛的搜索,但似乎没有什么能涵盖我需要的所有要点。如果我错过了什么,我很抱歉。我可以处理操作数据的所有编码,但让我困惑的是控件的动态创建和删除。

该程序全天候运行。它有一个带有单个默认选项卡页的选项卡控件。每个页面都有许多控件(在.NET中,这些控件是文本框、标签、按钮和数据视图,可能每个控件都有两个)。该程序每隔60秒读取一个数据库,查找特定的条目。当找到该条目时,它会检查是否有该条目的选项卡页。如果存在,则将数据添加到现有的选项卡页(如果不存在)。

如果该条目不存在,则使用原始选项卡页中的所有控件构建一个新的选项卡页,该选项卡页的位置相同且外观相同,并且必须是用户和程序可访问的。用户通过添加或编辑数据字段与每个选项卡交互,并且可以从进一步的数据输入中声明选项卡页“关闭”。

最后,在一天结束时(通常是当地时间凌晨1点左右),除原始选项卡外的所有选项卡都会被清除,以全新的一天开始。我还在数据库上运行了一个存档,但我已经弄清楚了。

我的VB6应用程序的主要变化是失去了控制数组。我已经写了几个其他的应用程序,它们在启动时动态构建控件,但一旦程序加载,它们就是静态的。创建和删除所有这些控件是很困难的,因为我不确定它们在创建时将被命名为什么。每个新选项卡的常量是事件名称,其格式为3-6个字符的位置名称和六位数的日期,并在末尾添加冒号和序列号。这是因为事件位置在一天中可能有多个事件。

如果任何人需要关于我正在跟踪的内容的更具体的信息,我将很乐意扩展。现在只想保持简短。为了保留一些在.NET中已经被贬低的功能,我坚持使用3.5框架。

EN

回答 1

Stack Overflow用户

发布于 2014-11-26 03:00:03

Plutonix提出了一个我没有考虑过的完美解决方案,而且比我所做的要实用得多。

与其创建和销毁所有这些控件,不如使用一个带有网格的主窗体来显示每个事件。网格行可以着色以显示状态(活动、已关闭和需要注意)。双击一行将打开另一个窗体,其中包含与该特定事件交互所需的控件。DGV控件可以是数据绑定的,这简化了字段的编辑。

我已经用这个方法做了一些快速的实验,它可以做我需要的一切,而不会让人头疼。

谢谢你所有的建议。所有的想法都值得欣赏。:)

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/27110062

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档