[問題] 利用字串產生動態控制項

看板C_Sharp (C#)作者 (暴力熊)時間12年前 (2013/06/17 14:41), 編輯推噓1(105)
留言6則, 3人參與, 最新討論串1/1
各位板友好,小弟有一個詭異的需求... 要利用一個 textbox,假設使用者輸入了label 那程式就需要產生一個label在空白處 如果輸入了button,那就產生button 當然..我可以用if else/switch來做 可是我要產生的usercontrol 可能有數十個 也比較不好維護.. 不知道有沒有什麼方法, 可以利用字串 new 一個未知型別的控制項? -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 114.41.20.219

06/17 15:09, , 1F
反射由型別名稱製造控制項實體? 內部用switch切換名稱
06/17 15:09, 1F

06/17 15:10, , 2F
建立一個 Dictionary<name, controller_typename>
06/17 15:10, 2F

06/17 15:11, , 3F
然後用 Type.GetType 取得控制項型別
06/17 15:11, 3F

06/17 15:11, , 4F
再使用 Activator.CreateInstance 動態建立控制項物件
06/17 15:11, 4F

06/17 15:37, , 5F
感謝樓上,已成功~
06/17 15:37, 5F

06/17 22:31, , 6F
Dictionary在這邊應用真漂亮
06/17 22:31, 6F
文章代碼(AID): #1Hlg-m-h (C_Sharp)
文章代碼(AID): #1Hlg-m-h (C_Sharp)