主要用到兩個類:assembly和activator,分別來自system.reflection和system命名控制項。
本文實現動態新增的主要思想是:通過assembly中的getexecutingassembly()方法來獲取包含
當前執行的**的
程式集,進而使用gettype()通過本專案下的使用者控制項名稱從取到
程式集例項中具有該名稱的system.type;接下來使用activator物件來建立物件型別,此處使用
createinstance()方法,該方法的作用是使用指定型別的預設建構函式來建立該型別的例項。
(wpf)示例:向tabcontrol中的新頁中動態新增名稱為related的使用者控制項,假設命名空間為「wpfproject」:
//tabcontrol tabcontrol = new tabcontrol()
tabitem tabitem = new tabitem();
tabitem.name = "relateditem";
tabitem.tag = "related";
tabitem.header = "relateditem";
......
var type = assembly.getexecutingassembly().gettype("wpfproject." + tabitem.tag);
if (type == null)
tabitem.content = activator.createinstance(type);
tabcontrol.items.add(tabitem);
tabitem.isselected = true;
動態新增使用者控制項
本篇教你動態新增使用者控制項。為了讓使用者控制項能asp.net頁面實現動態新增,首先寫乙個介面igetucable,這個介面有乙個函式,返回物件型別是usercontrol。using system using system.collections.generic using system.lin...
動態新增使用者控制項
本篇教你動態新增使用者控制項。為了讓使用者控制項能asp.net頁面實現動態新增,首先寫乙個介面igetucable,這個介面有乙個函式,返回物件型別是usercontrol。view code using system using system.collections.generic using ...
使用者控制項 動態建立新增
使用使用者控制項 專案右鍵新增,使用者控制項,選擇使用者控制項cs 在生成的專案中用設計編輯,點選選單欄生成,生成解決方案,然後使用者控制項就可以使用了 製作簡單的qq視窗,根據資料庫自動新增資料 製作使用者控制項 實體類 qq,haoyou using system using system.co...