国产一级a片免费看高清,亚洲熟女中文字幕在线视频,黄三级高清在线播放,免费黄色视频在线看

打開APP
userphoto
未登錄

開通VIP,暢享免費電子書等14項超值服

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

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

1、Demo界面及功能解釋
2、Demo實現簡述
3、參考資料
Demo下載

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



圖2:


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

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

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

Hosting Windows Forms Designers




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

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

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

評論

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

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

#3樓  2007-03-13 14:48 Jamskin [未注冊用戶]
辛苦啦!
  回復  引用  查看    

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


  回復  引用  查看    

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

#6樓  2007-03-27 14:12 biean [未注冊用戶]
很不錯
及簡介又方便
  回復  引用  查看    

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

@OnlyLiu


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

#8樓  2007-04-06 13:50 楊磊 [未注冊用戶]
我也想寫一個窗體設計器,請問
如何根據C#源代碼(*.cs)生成CodeCompileUnit


  回復  引用  查看    

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

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

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

想問問樓主,我想開發(fā)個模型設計器,不知道如何下手,如果有時間和機會請賜教,謝謝!

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

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

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

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

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

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


  回復  引用  查看    

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

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


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

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

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

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


  回復  引用  查看    

#16樓  2007-08-13 22:56 tmx99 [未注冊用戶]
這個例子好像沒有用SharpDevelop的AddInTree機制吧。可以用AddinTree來實現這個例子嗎?
  回復  引用  查看    

#17樓  2007-08-17 10:42 馬克 [未注冊用戶]
請問,怎樣在頁面上增加自定義控件?例如DevExpress控件。
  回復  引用  查看    

繼續(xù),爽啊
  回復  引用  查看    

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


  回復  引用  查看    

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

#21樓  2007-09-29 18:33 sssdddd [未注冊用戶]
太好了,樓主繼續(xù)努力,我本打算寫一個窗體設計器,只需要能設計一個窗體就行了,適當擴展一下,這一下正好滿足要求。
  回復  引用  查看    

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

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

#24樓  2008-01-25 07:49 wenti [未注冊用戶]
請問如何實現添加一個控件之后,Text 是漢字?
  回復  引用  查看    

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

聯系客服