2012-06-06 78 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