2012-06-06 57 views
0

问候,动态添加按钮和添加他们的源代码

我已经检查了我的问题,没有运气的答案或类似的东西的。

因此,这里是我的问题:

我创建了一个网吧收银员软件,我的老板,它有按钮为收银员要在票据/表格添加的每个产品。如果点击一个按钮,例如btnOrangeJuice,在其Click事件,它调用一个名为例如功能:addOrder("Orange Juice");

在这个函数它简单的跟踪代码:

一)将其连接到数据库
二)在这里返回的产品“橙汁”,例如(select price from products where product_name = '" + product_parameter + "'"
C产品价格)拍摄效果,并将其添加到顺序列表框,它的价格等..

的问题是,(让我们去看预览示例)每次我们有新产品时,我都要手动立法院通过添加按钮52x52像素,名btnOrangeJuice,文本名称“橙汁”自定义表单,并在click事件调用我的函数addOrder("Orange Juice"),然后上传我的软件的新版本,我的网上虚拟主机,并更新软件从收银员的电脑。这对我来说非常耗时,尤其是当我们与供应商进行新的交易时,所以我想让我的程序动态添加按钮,只需要一个表单,键入按钮属性,调用函数,然后添加一个按钮的尺寸,检查它是否超出窗体空间,如果是,添加按钮,而不是在右侧,当然添加按钮属性和它的单击事件(这称为我的内置函数) 。

如果您需要更多关于我的软件/问题请不要问任何更远的细节。

所以,你可以帮助我在这吗?

+0

WPF或Windows窗体?我怀疑你的意思是Windows窗体 –

回答

2

的标准方法是指定每个产品的唯一标识符,并且具有一个机构,用于将它接受唯一的标识符作为参数的次序。您的产品可能具有唯一标识符,因为它们是持久化实体(例如数据库主键)。

如果你想添加按钮可以使产品的文本,那么你就可以动态地从产品名称,这又是已经存储在数据库中设置此。没有必要在UI代码中复制这些信息。

+0

如果我正确理解你的答案,是将所有按钮属性包括到我的产品的表中。这是一个很好的机制。比方说,我这样做,我在我的产品表中有一行值,名称:橙汁,价格:2.00,形式:SoftDrinks.frm等。我如何加载软件加载阶段的新按钮?要将它添加到SoftDrinks.frm表单上,请检查可用空间的位置(不在表单外部)?以及如何包含按钮Click_Event代码? – Phil

+0

首先,您使用的是什么技术,看起来您指的是WinForms,但您也提到了在线网络托管,这可能意味着WebForms。无论哪种方式,原则都是一样的,您的用户界面会检索所有产品(或所有软饮料)的列表,然后为结果集中的每个项目创建一个新的UI元素。这将包括一个运行一段代码的'订单'按钮,传入该产品的唯一ID。我不知道你的意思是'检查什么位置可用关于空的可用空间(不在表单外部)?'。 – devdigital