none
如何控管物件狀態。 RRS feed

  • 問題

  • 我設計了一個程式用很多的checkbox,checkbox可以讓使用者自行打勾,也可以按一個全部打勾的按鈕。

    問題來了。這麼多的checkbox 我要每一個都去寫確認他是true或false 然後用回圈去跑嗎,如果在每一個checkbox下寫那也很累人。

    像java中有classname,介由呼叫某一個classname("checkbox_a01"),我就可以去使用到 checkbox_a01的屬性或方法。

    所以我寫一段程式,我只要有一個string陣列的表,我就可以把物件名稱都先存進去。

    到時候只要for回圈加幾行程式碼我就可以把全部的checkbox 的狀態確認一次。

    不知道我在c#中應該怎麼去做。

    謝謝~

    2006年6月10日 下午 02:27

解答

  • 1. 使用 FindControl(控制項id) 來取得 Control 物件

    2. 把 Control 物件轉型成 Checkbox,就可以使用了,但你要確定取回來的 Control 是 Checkbox.

    2006年6月11日 上午 02:35
    版主

所有回覆

  • 1. 使用 FindControl(控制項id) 來取得 Control 物件

    2. 把 Control 物件轉型成 Checkbox,就可以使用了,但你要確定取回來的 Control 是 Checkbox.

    2006年6月11日 上午 02:35
    版主
  • 感謝小朱版本的回應。

    我把功能記反了…,不過您說的這個我等等會試試。好像蠻好用的。他主要去是抓目前產生的物件嗎?

    我要寫的兩個功能是。

    1.我寫個很多個class ,每一個class 都有他的功能和特性。然後我用了一個字串陣列把他存起來。會因使用者的需求在runtime環境下 new一個class就如同用java 的 classforname一樣可以動態產生。

    2.在我的程式裡用了許多的checkbox,後來我是用陣列去存取我設計的checkbox的address然後在去call這checkbox,但我還是覺得這樣的話,我依然在設計陣列時要把我全部的checkbox塞進這個陣列中。因為有100多個checkbox,所以才會異想天開的去想到c#的基楚類別中有object,所以才會想用直接動態取得每一個chechbox,這樣的話應該可以用的比較活。

    2006年6月11日 上午 06:15
  • 用 FindControl() 是最快的作法了 .

    Java 的 classname 是屬於類似 FindControl 的功能,不過 .NET 的動態產生作法比較複雜一點 ...

    2006年6月11日 上午 06:35
    版主