欧美性猛交XXXX免费看蜜桃,成人网18免费韩国,亚洲国产成人精品区综合,欧美日韩一区二区三区高清不卡,亚洲综合一区二区精品久久

打開(kāi)APP
userphoto
未登錄

開(kāi)通VIP,暢享免費電子書(shū)等14項超值服

開(kāi)通VIP
SharpDevelop淺析_5_Windows Forms Designer 自己動(dòng)手創(chuàng )建應用程序界面設計器

SharpDevelop淺析_5_Windows Forms Designer
自己動(dòng)手創(chuàng )建應用程序界面設計器

1、Demo界面及功能解釋
2、Demo實(shí)現簡(jiǎn)述
3、參考資料
Demo下載

1、Demo界面及功能解釋
編譯并運行程序,界面如下:
圖1:



圖2:


功能概述:
a, 窗體左側為工具欄,可以單擊、雙擊、拖曳的方式來(lái)添加控件
b, 窗體右側為屬性(事件)窗口及控件(瀏覽)選擇Combo
c, 窗體中部包括設計器及代碼查看Tab頁(yè)
d, 窗體頂部實(shí)現了編輯、對齊、運行等命令項

2、Demo實(shí)現簡(jiǎn)述
a, 設計器的核心是.NET框架提供的DesignSurface類(lèi)、ServiceContainer類(lèi)
b, 設計器的擴展點(diǎn)(自定義部分)是通過(guò)向ServiceContainer添加自動(dòng)定義服務(wù)類(lèi)(IOC模式?)或訂閱服務(wù)類(lèi)的事件……
c, Demo中的使用或創(chuàng )建的服務(wù)類(lèi)包含了ISelectionService, IComponentChangeService MenuCommandService, CustomToolboxService, NameCreationService, DesignerEventService, EventBindingService.
d, 補充說(shuō)明: Demo左側工具欄項目是通過(guò)\data\SharpDevelopControlLibrary.xml配置文件定義;窗口中部的代碼查看頁(yè)中使用了SharpDevelop的TextEditorControl.

3、參考資料
關(guān)于自定義窗體設計器的具體設計過(guò)程請參照如下資源:
利用 .NET Framework 2.0 創(chuàng )建并宿主自定義的設計
Create And Host Custom Designers With The .NET Framework 2.0 (英文原文)

Hosting Windows Forms Designers




Demo中左側工具欄的控件使用了 綸巾客 寫(xiě)的一個(gè)控件:
制作VS風(fēng)格的Toolbox控件
對該控件的主要修改如下:
ToolBoxItem類(lèi)添加了Tag及Image屬性以存儲Tag數據及顯示圖片
ToolBox增加了SelectedItemChanged, ItemDoubleClicked, ItemDragStart事件

--------------------------------------------------------------------------------------------------------------------------
SharpDevelop淺析系列這一階段的文章基本完成了;
暫未涉及到Project組織方式, Debugger 及其它一些Addin項目的分析;學(xué)以致用,如果以后有應用需求,也可能會(huì )再來(lái)補充分析些其它有意思的項目吧...

posted on 2007-02-25 00:02 lin-zhang 閱讀(2283) 評論(25)  編輯 收藏 所屬分類(lèi): SharpDevelop分析

評論

#1樓  2007-02-26 10:05 錢(qián)彥云      
試用了一下,不錯。
  回復  引用  查看    

#2樓 [樓主] 2007-02-26 13:40 lin-zhang      
@ 錢(qián)彥云
謝謝, 這個(gè)小程序也只能是當作個(gè)demonstration罷了
  回復  引用  查看    

辛苦啦!
  回復  引用  查看    

#4樓  2007-03-18 18:41 OnlyLiu      
辛苦,我需要右擊鼠標顯示菜單,還沒(méi)有看


  回復  引用  查看    

#5樓  2007-03-26 16:07 菲 [未注冊用戶(hù)]
你好能指導一下如何gtk#做界面么
  回復  引用  查看    

很不錯
及簡(jiǎn)介又方便
  回復  引用  查看    

#7樓 [樓主] 2007-04-03 20:47 lin-zhang      
@Jamskin
@biean
謝謝支持

@OnlyLiu


@ 菲
gtk# ? 不懂
  回復  引用  查看    

我也想寫(xiě)一個(gè)窗體設計器,請問(wèn)
如何根據C#源代碼(*.cs)生成CodeCompileUnit


  回復  引用  查看    

#9樓 [樓主] 2007-04-08 16:59 lin-zhang      
@楊磊
.NET框架提供了由 CodeCompileUnit 生成.cs, .vb文件,反過(guò)來(lái)的轉換好像是未直接提供。 如何實(shí)現可能涉及詞法分析等,具體可參見(jiàn)SharpDevelop將源碼轉換為其自定義CodeCompileUnit相關(guān)對象的方法,這方面技術(shù)我也未作深入研究
  回復  引用  查看    

我想問(wèn)問(wèn)右面的屬性頁(yè)能不能定制,就像左邊的工具欄,通過(guò)xml文件配置。如果可以應該怎么配
  回復  引用  查看    

#11樓  2007-05-28 21:40 Clark Chan      
lz厲害,佩服!

想問(wèn)問(wèn)樓主,我想開(kāi)發(fā)個(gè)模型設計器,不知道如何下手,如果有時(shí)間和機會(huì )請賜教,謝謝!

例如:http://www.cnblogs.com/ClarkChan/archive/2007/05/26/760889.html
  回復  引用  查看    

#12樓 [樓主] 2007-05-29 13:22 lin-zhang      
@郭江濤
如果你想定制屬性頁(yè)的顯示內容或格式, 可搜一下如何擴展PropertyGrid控件

@Clark Chan
上面的Demo只是在微軟設計器的核心以外作一些服務(wù)擴展/定制, vs2005中可以畫(huà)實(shí)體關(guān)系圖,應該有提供相關(guān)的Service接口. 具體是什么我也愛(ài)莫能助嘍 :(
  回復  引用  查看    

#13樓  2007-06-05 02:58 hfyb      
能不能做一個(gè)C的編譯環(huán)境??如果C也能有這樣的高亮顯示及自動(dòng)提示那該有多好???
我想做一個(gè),不知道可不可以實(shí)現??請樓主賜教??!謝謝??!
  回復  引用  查看    

#14樓 [樓主] 2007-06-05 13:00 lin-zhang      
作一個(gè)C的"編輯"環(huán)境肯定是可以的, SharpDevelop工具設計時(shí)的目標之一就是希望可以用來(lái)編輯多種語(yǔ)言,而非特定于.net

語(yǔ)法高亮顯示: 只須配置Xml文件即可實(shí)現,應該是已有相關(guān)的配置文件了
自動(dòng)完成: 關(guān)鍵詞的自動(dòng)完成當前版本的SharpDevelop好像未作支持;而已有的自動(dòng)完成是通過(guò)類(lèi)模型來(lái)提供數據的,C語(yǔ)言里面好像沒(méi)有類(lèi)的概念.不過(guò)你要針對某些輸入提供一些自動(dòng)完成功能可以參見(jiàn)TextEditor控件的自動(dòng)完成數據接口. 代碼提示有類(lèi)似的接口
編譯: 調用外部工具編譯源碼,應該是可以實(shí)現的,


  回復  引用  查看    

#15樓  2007-06-13 12:44 a [未注冊用戶(hù)]
看了這么多,關(guān)于 SharpDevelop 的插件技術(shù)的評論都是正面的。
說(shuō)實(shí)在的,這點(diǎn)令我有點(diǎn)失望。估計還是大家對它的研究和應用可能都不夠深入吧。
我草草的研究了一下,就覺(jué)得有一點(diǎn)很不好。代碼中到處要編輯那么多命名字符串,這難道不會(huì )引起更多的錯誤?而且效率低下,查對那些字符串條目,不是一件輕松的事。約定實(shí)在太多。

另外,我對它的資源國際化管理方式相當反感。雖說(shuō)有一功能:即時(shí)更改界面的語(yǔ)言,然而,這也是其在資源管理方面拙劣設計的副產(chǎn)品而已。說(shuō)實(shí)在的這功能,也沒(méi)什么實(shí)用性,哪個(gè)用戶(hù)吃飽了撐的,把語(yǔ)言切換當活兒干?說(shuō)到根本上,這也取決了 SD 本身在設計功能上的虛弱,它不能處理多語(yǔ)言設計,處處要靠手工編輯。為了湊合這一點(diǎn),SD 的作者采用了目前的資源管理方式。即時(shí)更改語(yǔ)言功能成了掩飾之筆了。SD 的資源管理方式,是最不可取的。即使退一步就談界面語(yǔ)言更改,我倒認為,只要重啟后應用新設定的語(yǔ)言選項,這已經(jīng)足夠了。


關(guān)于耦合性和正交性,歷來(lái)都是設計上的難點(diǎn)。SD 總體上還算做得不錯,插件管理有 Reference 和 Conflict 定義,這可以適當地指明插件之間的依賴(lài)關(guān)系。

還有其他許多不明白之處,一時(shí)還不太好說(shuō),繼續研究吧。

總體感覺(jué),跟 VS 相比 SD 實(shí)在差得遠了去了。不要跟我說(shuō),SD 的作者才多少人,還只是業(yè)余干干的。差距永遠無(wú)法掩蓋,而且照目前的情況,差距只會(huì )越來(lái)越大。模仿只能被別人甩得越遠。

我認為,對于 SD,AddInTree 和 TextEditor 是值得研究的,其他的不看也罷。


  回復  引用  查看    

這個(gè)例子好像沒(méi)有用SharpDevelop的AddInTree機制吧??梢杂肁ddinTree來(lái)實(shí)現這個(gè)例子嗎?
  回復  引用  查看    

請問(wèn),怎樣在頁(yè)面上增加自定義控件?例如DevExpress控件。
  回復  引用  查看    

繼續,爽啊
  回復  引用  查看    

能不能自定義自己的CodeDomProvider呢?
我的意思是根據CodeCompileUnit生成我想要的代碼,而不限于c#或者VB
如果可以的話(huà),做一個(gè)這樣的工具來(lái)生成適合自己公司編碼規范的代碼不是太帥了。


  回復  引用  查看    

如何創(chuàng )建web設計器呢?
  回復  引用  查看    

太好了,樓主繼續努力,我本打算寫(xiě)一個(gè)窗體設計器,只需要能設計一個(gè)窗體就行了,適當擴展一下,這一下正好滿(mǎn)足要求。
  回復  引用  查看    

#22樓  2007-09-30 11:39 無(wú)處壞      
請問(wèn)樓主最近有沒(méi)有對project & Debugger 進(jìn)行研究啊,如果有的話(huà),發(fā)些資料給我謝謝,小弟最近想學(xué)這一部分,謝謝,我的email:wqjch@163.com;我的msn:wisliqj@hotmail.com
  回復  引用  查看    

請問(wèn)樓主怎樣在設計窗口里面實(shí)現右鍵菜單功能。
  回復  引用  查看    

請問(wèn)如何實(shí)現添加一個(gè)控件之后,Text 是漢字?
  回復  引用  查看    

太棒了,
踏破鐵鞋無(wú)覓出...
謝了,
拿回去好好學(xué)習
  回復  引用  查看    
本站僅提供存儲服務(wù),所有內容均由用戶(hù)發(fā)布,如發(fā)現有害或侵權內容,請點(diǎn)擊舉報。
打開(kāi)APP,閱讀全文并永久保存 查看更多類(lèi)似文章
猜你喜歡
類(lèi)似文章
C# WinForm界面設計教程(C# Windows窗體應用程序)
VB編程基礎教程19–界面設計的基礎 | 異次元軟件世界
SharpDevelop使用體驗
VB程序設計教程VB(VisualBasic)是一種基于Windows的應用
在VB中使用IE的WebBrowser控件
設計“好看”的用戶(hù)界面
更多類(lèi)似文章 >>
生活服務(wù)
分享 收藏 導長(cháng)圖 關(guān)注 下載文章
綁定賬號成功
后續可登錄賬號暢享VIP特權!
如果VIP功能使用有故障,
可點(diǎn)擊這里聯(lián)系客服!

聯(lián)系客服

欧美性猛交XXXX免费看蜜桃,成人网18免费韩国,亚洲国产成人精品区综合,欧美日韩一区二区三区高清不卡,亚洲综合一区二区精品久久