自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

因WinForm動(dòng)態(tài)菜單而產(chǎn)生的幾點(diǎn)疑惑

開發(fā) 開發(fā)工具
本文將介紹因WinForm動(dòng)態(tài)菜單而產(chǎn)生的幾點(diǎn)疑惑,也有熱心的開發(fā)人員解答了作者的疑惑,希望本文對(duì)大家有所幫助。

WinForm動(dòng)態(tài)菜單產(chǎn)生疑惑事件起因:

WinForm入門學(xué)習(xí)時(shí),利用設(shè)計(jì)器制作菜單,在以后的快速原型測(cè)試中,也用這種方式。但項(xiàng)目實(shí)際開發(fā)的時(shí)候,都是希望用代碼生成WinForm動(dòng)態(tài)菜單。我們可以用數(shù)據(jù)庫(kù),XML來平行地存儲(chǔ)菜單項(xiàng),也可以用XML來層次地形象的存儲(chǔ)菜單。

雖然XML的層次結(jié)構(gòu),與菜單結(jié)構(gòu)像極了,幾乎是“同構(gòu)”的。但WinForm中的MenuStrip,并不支持?jǐn)?shù)據(jù)綁定。
感嘆:在算法設(shè)計(jì)和業(yè)務(wù)操作的時(shí)候,我們希望面向?qū)ο蟮膰?yán)格,但在組合算法,集成業(yè)務(wù),粘合界面的時(shí)候,我們需要"宏","marco","#define"動(dòng)態(tài)特性,如javascript, foxpro中那樣的靈活。
問題:

1. WinForm中,為什么就不能支持菜單的數(shù)據(jù)綁定和序列化?相比之下,Asp.Net快速開發(fā)中,數(shù)據(jù)綁定要支持的好得多,多不公平。

2. c#2太靜態(tài)了,以至于把菜單和事件聯(lián)系起來,太難了。有的用反射;有的對(duì)字符串進(jìn)行判斷,大量使用switch(menuStripItem.Text) case...無可奈何的重復(fù)。希望C#能動(dòng)態(tài)些,再動(dòng)態(tài)些。

3. vs2010中,能動(dòng)態(tài)添加字符串 表示的類和方法么,實(shí)現(xiàn)如下需求么?

我們希望在數(shù)據(jù)庫(kù)中有如下變量表:

變量類型 變量名稱
List<int> list
我們希望在數(shù)據(jù)庫(kù)中有如下方法表:
變量名稱 執(zhí)行方法 參數(shù)類型列表 參數(shù)值列表
list Add int 5
list Add int 8


根據(jù) 數(shù)據(jù)庫(kù),我們?cè)趺窗讶缱址兂烧Z句
"List<int> list = new List<int>;
list.Add(5);
list.Add(8);"

解答:對(duì)于不支持?jǐn)?shù)據(jù)綁定,你可以自己寫一個(gè)方法,用DATATABLE存儲(chǔ)你的菜單結(jié)構(gòu),在菜單加載時(shí)你可以用XML化的DATATABLE進(jìn)行加載,或者直接用DATATABLE進(jìn)行加載。對(duì)于作者提出的第二個(gè)觀點(diǎn),我覺得是作者對(duì)菜單的事件綁定不太熟悉所導(dǎo)致的,至于用switch case結(jié)構(gòu),是作者自己的設(shè)計(jì)問題,用工廠模式就可以解決。

【編輯推薦】

  1. C#在WinForm開發(fā)中Label換行方法
  2. C#中使用多線程訪問Winform問題解決方案
  3. 體驗(yàn)VS.NET 2005的winform新功能
  4. WinForm程序中使用控制臺(tái)作為輸出窗口
  5. 用Winform傻瓜式搭建asp.net mvc框架
責(zé)任編輯:彭凡 來源: cnblogs
相關(guān)推薦

2010-07-23 08:22:00

動(dòng)態(tài)語言框架

2012-07-17 16:10:05

BPMWebsphereIBM

2020-12-08 06:05:19

生物識(shí)別COVID-19人工智能

2011-11-17 17:22:10

IT管理云計(jì)算

2011-11-18 10:00:05

云計(jì)算IT管理

2024-08-13 15:31:20

2021-11-10 18:38:54

智慧城市

2012-01-18 09:53:13

Android碎片化

2012-06-14 09:15:14

2010-03-23 09:16:43

Python源碼剖析

2009-12-18 14:49:15

Junos網(wǎng)絡(luò)操作系統(tǒng)

2009-07-22 13:55:23

2014-08-29 11:09:44

程序員

2019-04-29 13:02:22

Intel手機(jī)基帶蘋果

2010-04-21 11:44:10

桌面虛擬化Windows 7

2011-09-23 09:28:50

vSphere 5vmware虛擬化

2009-02-19 09:48:34

XP微軟降級(jí)

2013-12-06 10:11:18

冰島語計(jì)算機(jī)信息技術(shù)

2012-08-22 15:42:07

NETGEAR秋季巡展
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)