日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > asp.net >内容正文

asp.net

自定义控件的子控件支持设计模式

發(fā)布時間:2025/4/14 asp.net 32 豆豆
生活随笔 收集整理的這篇文章主要介紹了 自定义控件的子控件支持设计模式 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

http://www.codeproject.com/Articles/37830/Designing-Nested-Controls? ?

?

? 假如一個復合控件由一個ToolStript和一個TextBox組成,如何使ToolStript獲得設計時支持, 在設計時可以像使用普通ToolStript一樣添加/刪除控件?

??????直接把ToolStript設為Public是無法達到目的的。必須定義一個用于為組件實現設計時服務的Designer

[Designer(typeof(MyDesigner))]
public?partial?class?UserControl1?:?UserControl


??????MyDesigner繼承自System.Windows.Forms.Design.ControlDesigner 類, 它提供了一個方法“EnableDesignMode”。使用它將啟用子控件的設計時功能,但需要將子控件公開為主控件的屬性。

???? 全部代碼如下:

[Designer(typeof(MyDesigner))]
public?partial?class?UserControl1?:?UserControl
{
public?UserControl1()
{
????????????InitializeComponent();
????????}
????????[Browsable(false),?DesignerSerializationVisibility(DesignerSerializationVisibility.Content)]
public?ToolStrip?MyToolStrip
{
get{?returnthis.toolStrip1?;?}
????????}

????}

?

internalclass?MyDesigner?:?ControlDesigner
{
private?UserControl1?MyControl;

publicoverridevoid?Initialize(IComponent?component)
{


base.Initialize(component);

//?Record?instance?of?control?we're?designing
????????????MyControl?=?(UserControl1)component;
this.EnableDesignMode(MyControl.MyToolStrip,?"MyToolStrip");
????????}
????}

轉載于:https://www.cnblogs.com/lihoo/p/7765535.html

總結

以上是生活随笔為你收集整理的自定义控件的子控件支持设计模式的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。