資源簡(jiǎn)介
上次上傳的大家說(shuō)有問(wèn)題,是我沒(méi)演示怎么使用items屬性,我進(jìn)行了改進(jìn),
大家可以看看類似datagrid的列屬性items是怎么實(shí)現(xiàn)的。代碼注視完整,開(kāi)發(fā)平臺(tái)vs2005,代碼語(yǔ)言C#。

代碼片段和文件信息
using?System;
using?System.Collections.Generic;
using?System.Text;
using?System.Windows.Forms;
using?System.xml.Serialization;
using?System.ComponentModel;
using?System.Runtime.InteropServices;
using?System.Drawing;
using?System.Configuration;
namespace?ControlItems
{
????public?class?ControlItem?:?UserControl
????{
????????#region?構(gòu)造方法
????????private?void?InitializeComponent()
????????{
????????????this.SuspendLayout();
????????????//?
????????????//?ControlItem
????????????//?
????????????this.AllowDrop?=?true;
????????????this.Name?=?“ControlItem“;
????????????this.ResumeLayout(false);
????????}
????????#endregion
????????#region?控件屬性及隱藏屬性
????????///?
????????///?編輯其Items
????????///?
????????private?named[]?names?=?new?named[]?{?};
????????public?named[]?Items
????????{
????????????get?{?return?names;?}
????????????set?{?names?=?value;?}
????????}
????????///?
????????///??前景顏色
????????///?
????????private?Color?forecolor?=?Color.Black;
????????///?
????????///?背景顏色
????????///?
????????private?Color?backcolor?=?Color.Red;
????????///?
????????///?前景顏色
????????///?
????????public?Color?Forecolor
????????{
????????????get?{?return?forecolor;?}
????????????set?{?forecolor?=?value;?}
????????}
????????///?
????????///?背景顏色
????????///?
????????public?Color?Backcolor
????????{
????????????get?{?return?backcolor;?}
????????????set?{?backcolor?=?value;?}
????????}
????????///?
????????///?當(dāng)前選中的items
????????///?
????????private?int?itemsNow?=?-1;
????????///?
????????///?上次選中的items
????????///?
????????private?int?itemsOld?=?-1;
????????///?
????????///?當(dāng)前選中的items
????????///?
????????[Browsable(false)]
????????public?int?ItemsNow
????????{
????????????get?{?return?itemsNow;?}
????????????set?{?itemsNow?=?value;?}
????????}
????????///?
????????///?上次選中的items
????????///?
????????[Browsable(false)]
????????public?int?ItemsOld
????????{
????????????get?{?return?itemsOld;?}
????????????set?{?itemsOld?=?value;?}
????????}
????????#endregion
????????#region?重寫(xiě)繪制方法,使得items能夠顯示
????????///?
????????///?繪制named的names
????????///?
????????///?
????????protected?override?void?OnPaint(PaintEventArgs?e)
????????{
????????????int?flag?=?0;???//用于控制Items的起始Y坐標(biāo)
????????????foreach?(named?var?in?names)
????????????{
????????????????if?(((named)(var)).Fouce?==?false)
????????????????{
????????????????????//文本
????????????????????string?str?=?((named)(var)).Text;
????????????????????System.Drawing.Graphics?myGraphics?=?e.Graphics;
????????????????????System.Drawing.Font?dd?=?new?System.Drawing.Font(“宋體“?9);
????????????????????System.Drawing.RectangleF?textf?=?new?System.Drawing.RectangleF(10?10?+?flag?((named)(var)).Withed?+?10?((named)(var))
?屬性????????????大小?????日期????時(shí)間???名稱
-----------?---------??----------?-----??----
?????文件???????9884??2012-03-19?17:57??ControlItems\ControlItem.cs
?????文件???????5814??2012-02-27?17:07??ControlItems\ControlItem.resx
?????文件??????24576??2012-10-21?20:11??ControlItems\ControlItems\bin\Debug\ControlItems.exe
?????文件??????40448??2012-10-21?20:11??ControlItems\ControlItems\bin\Debug\ControlItems.pdb
?????文件???????5632??2005-12-08?14:51??ControlItems\ControlItems\bin\Debug\ControlItems.vshost.exe
?????文件???????1278??2012-02-27?14:15??ControlItems\ControlItems\Class1.cs
?????文件???????9884??2012-03-19?17:57??ControlItems\ControlItems\ControlItem.cs
?????文件???????5814??2012-02-27?17:07??ControlItems\ControlItems\ControlItem.resx
?????文件???????3539??2012-03-19?17:43??ControlItems\ControlItems\ControlItems.csproj
?????文件????????522??2012-10-21?20:11??ControlItems\ControlItems\Form1.cs
?????文件???????3391??2012-10-21?20:11??ControlItems\ControlItems\Form1.Designer.cs
?????文件???????5814??2012-10-21?20:11??ControlItems\ControlItems\Form1.resx
?????文件???????2199??2012-10-28?20:45??ControlItems\ControlItems\obj\ControlItems.csproj.FileListAbsolute.txt
?????文件????????180??2012-08-21?09:55??ControlItems\ControlItems\obj\Debug\ControlItems.ControlItem.resources
?????文件????????906??2012-10-21?20:11??ControlItems\ControlItems\obj\Debug\ControlItems.csproj.GenerateResource.Cache
?????文件??????24576??2012-10-21?20:11??ControlItems\ControlItems\obj\Debug\ControlItems.exe
?????文件????????180??2012-10-21?20:11??ControlItems\ControlItems\obj\Debug\ControlItems.Form1.resources
?????文件??????40448??2012-10-21?20:11??ControlItems\ControlItems\obj\Debug\ControlItems.pdb
?????文件????????180??2012-08-21?09:55??ControlItems\ControlItems\obj\Debug\ControlItems.Properties.Resources.resources
?????文件????????471??2012-03-19?17:43??ControlItems\ControlItems\Program.cs
?????文件???????1196??2011-12-14?10:09??ControlItems\ControlItems\Properties\AssemblyInfo.cs
?????文件???????2880??2011-12-14?10:09??ControlItems\ControlItems\Properties\Resources.Designer.cs
?????文件???????5612??2011-12-14?10:09??ControlItems\ControlItems\Properties\Resources.resx
?????文件???????1097??2011-12-14?10:09??ControlItems\ControlItems\Properties\Settings.Designer.cs
?????文件????????249??2011-12-14?10:09??ControlItems\ControlItems\Properties\Settings.settings
?????文件????????925??2011-12-14?10:09??ControlItems\ControlItems.sln
????..A..H.?????39424??2012-10-28?21:09??ControlItems\ControlItems.suo
?????目錄??????????0??2011-12-14?10:43??ControlItems\ControlItems\obj\Debug\Refactor
?????目錄??????????0??2011-12-14?10:09??ControlItems\ControlItems\obj\Debug\TempPE
?????目錄??????????0??2012-08-21?09:55??ControlItems\ControlItems\bin\Debug
............此處省略42個(gè)文件信息
評(píng)論
共有 條評(píng)論