軟件界面編寫:動(dòng)態(tài)地創(chuàng)建按鈕和IList的使用
本文將介紹如何在軟件界面中動(dòng)態(tài)生成按鈕,并使用IList來存儲(chǔ)這些動(dòng)態(tài)生成的按鈕。 實(shí)現(xiàn)動(dòng)態(tài)生成按鈕的效果 我們想要實(shí)現(xiàn)以下效果:當(dāng)點(diǎn)擊左上角的按鈕simpleButton1時(shí),在右上角動(dòng)態(tài)地生成
本文將介紹如何在軟件界面中動(dòng)態(tài)生成按鈕,并使用IList來存儲(chǔ)這些動(dòng)態(tài)生成的按鈕。
實(shí)現(xiàn)動(dòng)態(tài)生成按鈕的效果
我們想要實(shí)現(xiàn)以下效果:當(dāng)點(diǎn)擊左上角的按鈕simpleButton1時(shí),在右上角動(dòng)態(tài)地生成一個(gè)memoEdit1;在memoEdit1中輸入內(nèi)容后,再點(diǎn)擊左下角的按鈕simpleButton2,將memoEdit1中的內(nèi)容自動(dòng)復(fù)制到memoEdit2中。
程序源碼
下面是相應(yīng)的程序源碼:
private IList
存在的問題
在編譯過程中,可能會(huì)出現(xiàn)編譯器提示memoEdit2.Text memoEdit1.Text有問題,因?yàn)閙emoEdit1不存在的情況。
問題產(chǎn)生的原因
問題的根源在于memoEdit1是在simpleButton1_Click()方法內(nèi)部動(dòng)態(tài)創(chuàng)建的,并且作為私有變量對(duì)simpleButton2_Click()方法不可見。
解決方法
為了將動(dòng)態(tài)生成的按鈕保存為類的成員變量而非方法的內(nèi)部變量,我們可以引入IList來實(shí)現(xiàn)。
先在方法外部聲明一個(gè)IList變量,然后在simpleButton1_Click()方法中將動(dòng)態(tài)生成的按鈕添加到IList中,最后在simpleButton2_Click()方法中從IList中取出動(dòng)態(tài)生成的按鈕。
下面是修改后的代碼(新增部分為黃色):
private IList
需要注意的是,使用IList需要添加using 命名空間。
通過以上的修改,我們成功地解決了動(dòng)態(tài)生成按鈕的問題,并使用IList來存儲(chǔ)這些按鈕,使其在不同方法之間可見。