乙個自定義視窗屬性的控制項 C

2021-03-31 14:30:10 字數 2691 閱讀 1135

using system;

using system.***ponentmodel;

using system.***ponentmodel.design.serialization;

using system.web;

using system.web.ui;

using system.web.ui.webcontrols;

using system.globalization;

using system.reflection;

using system.windows.forms;

using system.windows.forms.design;

using system.drawing.design;

namespace testinstancedescriptor

public mysize()

public mysize(int x,int y)

public int x

set}

public int y

set}

public override string tostring()

,",_x.tostring(),_y.tostring());}}

public class mysizetypeconverter:typeconverter

public override bool canconvertto(itypedescriptorcontext context, type destinationtype)

public override object convertfrom(itypedescriptorcontext context,

system.globalization.cultureinfo culture, object value)

if (!(value is string))

string str = ((string)value).trim();

if (str.length == 0)

char splitchar = ;

string values = ((string)value).split(splitchar);

if(values.length != 2)

return mysize.empty;

trycatch(formatexception)

}public override object convertto(itypedescriptorcontext context,

system.globalization.cultureinfo culture, object value, type destinationtype)

);object args = new object ;

return new instancedescriptor(mi,args);

}if (destinationtype != typeof(string))

if (value != null)

return string.empty;}}

///

/// summary description for instdesclabe.

///

public class instdesclabel:system.web.ui.webcontrols.label

set}

public instdesclabel()

}public class mysizeeditor:uitypeeditor

public override object editvalue(itypedescriptorcontext context, iserviceprovider provider, object value)

}return base.editvalue (context, provider, value);

}public class label***ponenteditorform : system.windows.forms.usercontrol //system.windows.forms.form

}public int y

}///

/// 必需的設計器變數。

///

private system.***ponentmodel.container ***ponents = null;

public label***ponenteditorform()

public label***ponenteditorform(int x,int y) : this()

///

/// 清理所有正在使用的資源。

///

protected override void dispose( bool disposing )

}base.dispose( disposing );

}#region windows 窗體設計器生成的**

///

/// 設計器支援所需的方法 - 不要使用**編輯器修改

/// 此方法的內容。

///

private void initialize***ponent()

#endregion

private void button1_click(object sender, system.eventargs e)}}

C 自定義控制項屬性

寫在前面 在開發自定義控制項件時,有好些design屬性是要使用的,如toolboxitem,toolboxbitmap,category,description等等,不知道這些屬性其實也可以將控制項搞出來,不過,知道了,會令事件更加簡單,令控制項更加專業和實用。有時,不知道用法,會令到專案的其他同...

自定義控制項及自定義屬性

自定義控制項在android開發中的重要性,是不言而喻,眾人皆知的。希望通過這二天的學習,能讓大家了解自定義控制項的原理,熟悉自定義控制項的使用步驟,並能寫出一些普通的效果。內容介紹 1 使用系統控制項,實現自定義的效果,案例有 優酷環形選單 廣告條 viewpager 下拉列表 spinner 2...

Android自定義控制項 自定義屬性

自定義屬性的過程 1.在res values資料夾中建立attrs的xml檔案。2.寫入標籤,定義子標籤attr,放入自定義屬性的名稱。format 可以用 來同時使用 1 reference 參考某一資源id 2 color 顏色值 3 boolean 布林值 4 dimension 尺寸值 帶有...