WinForm控件开发基础教程四控件属性
winform教程

winform教程WinForm(Windows Forms)是微软基于.NET Framework开发的一种用户界面设计工具。
它使用了传统的窗体、标签、按钮等控件来创建GUI界面,是使用C#或语言开发桌面应用程序的一种方式。
WinForm教程1. 创建新的WinForm应用程序项目打开Visual Studio,在菜单栏中选择“文件”->“新建”->“项目”,选择“Visual C#”或“Visual Basic”下的“Windows”或“Windows经典桌面”类别,在右侧选择“Windows Forms应用程序”。
输入项目名称,选择存储路径,点击“确定”按钮创建新的WinForm应用程序项目。
2. 设计界面在Visual Studio的设计器中,可以通过拖拽控件来设计界面。
常用的控件包括标签(Label)、文本框(TextBox)、按钮(Button)、列表框(ListBox)等。
选择相应的控件,在窗体上拖拽并调整位置和大小。
可以使用属性窗口来设置控件的属性,例如文本、字体、大小等。
3. 添加事件处理程序在WinForm应用程序中,控件的各种操作通常需要绑定相应的事件处理程序。
例如,当按钮被点击时,需要执行相应的代码。
在设计器中,选择要添加事件处理程序的控件,在属性窗口的“事件”标签页中选择相应的事件,双击后会自动创建事件处理程序并打开代码编辑器。
4. 编写业务逻辑通过代码编辑器,可以编写业务逻辑代码。
例如,在按钮的点击事件处理程序中,可以编写代码来实现具体的功能,如弹出消息框、读取文本框的内容等。
通过使用.NET Framework提供的类库,可以实现各种功能,如数据访问、文件操作、网络通信等。
5. 调试和运行应用程序在编写完业务逻辑代码后,可以通过单击“开始调试”按钮或按下F5键来调试和运行应用程序。
在调试过程中,可以使用调试工具来检查代码执行的情况,并进行逐行调试。
6. 发布应用程序当应用程序开发完成后,可以将其发布为独立的可执行文件。
WinForm控件开发总结(完整版)

WinForm控件开发总结原创来源:/118744372.html目录WinForm控件开发总结(一)------开篇 (1)WinForm控件开发总结(二)------使用和调试自定义控件 (3)WinForm控件开发总结(三)------认识WinForm控件常用的Attribute (4)WinForm控件开发总结(四)-----控件属性的串行化 (5)WinForm控件开发总结(五)-----为控件的复杂属性提供类型转换器 (8)WinForm控件开发总结(六)-----控件属性类型转换器代码详解 (10)WinForm控件开发总结(七)-----为复杂属性的子属性提供编辑功能 (12)WinForm控件开发总结(八)-----为属性提供弹出式编辑对话框 (14)WinForm控件开发总结(九)-----为属性提下拉式属性编辑器 (17)WinForm控件开发总结(十)-----为属性设置默认值 (20)WinForm控件开发总结(十一)-----调试控件的设计时行为 (22)WinForm控件开发总结(十二)-----让控件处理导航键 (23)WinForm控件开发总结(一)------开篇其实开发WinForm控件并不是很复杂,.NET为我们提供了丰富的底层支持。
如果你有MFC或者API 图形界面的开发经验,那么学会WinForm控件可能只需要很短的时间就够了。
自己开发的WinForm控件通常有三种类型:复合控件(Composite Controls),扩展控件(Extended Controls),自定义控件(Custom Controls)。
复合控件:将现有的各种控件组合起来,形成一个新的控件,将集中控件的功能集中起来。
扩展控件:在现有控件的控件的基础上派生出一个新的控件,为原有控件增加新的功能或者修改原有控件的控能。
自定义控件:直接从System.Windows.Forms.Control类派生出来。
c#WinForm开发DataGridView控件的各种操作总结(单元格操作,属性设置)

c#WinForm开发DataGridView控件的各种操作总结(单元格操作,属性设置)一、单元格内容的操作*****// 取得当前单元格内容Console.WriteLine(DataGridView1.CurrentCell.Value);// 取得当前单元格的列 IndexConsole.WriteLine(DataGridView1.CurrentCell.ColumnIndex);// 取得当前单元格的行 IndexConsole.WriteLine(DataGridView1.CurrentCell.RowIndex);*******另外,使用 DataGridView.CurrentCellAddress 属性(而不是直接访问单元格)来确定单元格所在的行:DataGridView.CurrentCellAddress.Y 和列:DataGridView.CurrentCellAddress.X 。
这对于避免取消共享行的共享非常有用。
当前的单元格可以通过设定DataGridView 对象的CurrentCell 来改变。
可以通过 CurrentCell 来设定DataGridView 的激活单元格。
将CurrentCell 设为Nothing(null) 可以取消激活的单元格。
// 设定 (0, 0) 为当前单元格DataGridView1.CurrentCell = DataGridView1[0, 0];在整行选中模式开启时,你也可以通过CurrentCell 来设定选定行。
/// <summary>/// 向下遍历/// </summary>/// <param ></param>/// <param ></param>private void button4_Click(object sender, EventArgs e)...{int row = this.dataGridView1.CurrentRow.Index + 1;if (row > this.dataGridView1.RowCount - 1)row = 0;this.dataGridView1.CurrentCell = this.dataGridView1[0, row];}/// <summary>/// 向上遍历/// </summary>/// <param ></param>/// <param ></param>private void button5_Click(object sender, EventArgs e)...{int row = this.dataGridView1.CurrentRow.Index - 1;if (row < 0)row = this.dataGridView1.RowCount - 1;this.dataGridView1.CurrentCell = this.dataGridView1[0, row];}* 注意: this.dataGridView 的索引器的参数是: columnIndex, rowIndex 或是 columnName, rowIndex这与习惯不同。
VS2017winform窗体控件常用属性、方法、事件(不完全摘要)

VS2017winform窗体控件常⽤属性、⽅法、事件(不完全摘要)属性:1. AutoSize 属性:⽤来获取或设置⼀个值,该值指⽰是否⾃动调整控件的⼤⼩以完整显⽰其内容。
2. Anchor 属性:⽤来确定此控件与其容器控件的固定关系的。
3. BorderStyle 属性:⽤来设置或返回边框。
4. ReadOnly 属性:⽤来获取或设置⼀个值,该值指⽰⽂本框中的⽂本是否为只读。
5. PasswordChar 属性:是⼀个字符串类型,允许设置⼀个字符,运⾏程序时,将输⼊到 Text 的内容全部显⽰为该属性值,从⽽起到保密作⽤,通常⽤来输⼊⼝令或密码。
6. Text 属性:⽤来设置或返回控件内显⽰的⽂本,该属性也可以包含访问键,即前⾯带有“&”符号的字母,这样⽤户就可以通过同时按 Alt 键和访问键来选中控件。
7. Button8. DialogResult 属性:当使⽤ ShowDialog ⽅法显⽰窗体时,可以使⽤该属性设置当⽤户按了某按钮后,ShowDialog ⽅法的返回值。
值有:OK、Cancel、Abort、Retry、Ignore、Yes、No 等。
9. FlatStyle 属性:⽤来设置按钮的外观。
3d、平的、跟随系统、弹出;10. RadioButton || CheckBox11. Checked 属性:⽤来设置或返回单选按钮是否被选中,选中时值为 true,没有选中时值为 false。
(单选、多选控件)12. Items 属性:⽤于存放列表框中的列表项,是⼀个集合。
13. ListBox14. MultiColumn 属性:⽤来获取或设置⼀个值,该值指⽰ ListBox 是否⽀持多列。
15. SelectedItem 属性:获取或设置 ListBox 中的当前选定项。
16. SelectedItems 属性:获取 ListBox 控件中选定项的集合。
17. PictureBox18. SizeMode 属性:⽤来决定图像的显⽰模式。
winform了解窗体基础知识和常用属性

第一章了解窗体基础知识和常用属性讲师:千年明月01 02030405 目录 了解窗体基础知识和常用属性 熟练使用标签、文本框、按钮控件 掌握列表框控件的使用 使用消息框弹出消息 熟练掌握窗体间链接什么是Windows 窗体控件Windows 操作系统中,处处是窗体 GUI 界面创建第一个窗体应用程序在 VS 中创建 Windows 应用程序的步骤:1、打开 VS2、新建项目3、项目类型:Visual C# 项目4、模板:Windows 应用程序初识编译工具放置控件的区域各种控件windows应用程序文件夹结构项目名称主程序文件,包含Main方法我们编写代码的文件解决方案名称窗体设计器代码文件,代码为VS自动生成随堂练习•自己创建一个WinForm程序,运行下效果,试试看?Main 方法解析 •位于 Program.cs 文件 •Windows 程序的入口 // Program.cs namespace MyForm { static class Program { …….. static void Main( ) { Application.EnableVisualStyles(); Application.SetCompatibleT extRenderingDefault(false); Application.Run(new Form1()); } } }Main 方法, 程序的入口 VS 自动生成 一般不需要理会 默认程序打开的第一个窗体名认识窗体代码文件•WinForms 窗体有两种编辑窗口:窗体设计器窗口窗体代码编辑窗口解析窗体类 •Form 类:.NET 预定义的窗体类 •Form1 继承自 Form 构造函数 做一些初始化的工作 编译器自动调用 // Form1.cs namespace MyForm { public partial class Form1 : Form { public Form1() { InitializeComponent(); } } } 冒号表示继承 Form 类定义了窗体的基本属性和行为 我们创建的窗体都继承自Form 类 Form1具有相应的属性和行为窗体的重要属性Name :窗体对象的名字,类似于变量的名字BackColor :窗体的背景色ShowInT askBar :设置窗体是否出现在任务栏StartPosition :窗体第一次出现时的位置T ext :窗体标题栏显示的文字T opMost :设置窗体是否为最顶端的窗体WindowState :窗体出现时最初的状态(正常、最大化、最小化)随堂练习•尝试一下,改变一下窗体的样子和名字Windows窗体常用控件标签文本框组合框列表框按钮接下来,我们就一起来做窗体,属性说明Text该属性用于设置或获取与该控件关联的文本方法说明Hide 隐藏控件,调用该方法时,即使 Visible 属性设置为 True,控件也不可见Show 相当于将控件的 Visible 属性设置为 True 并显示控件事件说明Click 用户单击控件时将发生该事件属性说明MaxLength 可在文本框中输入的最大字符数Multiline 表示是否可在文本框中输入多行文本Passwordchar 机密和敏感数据,密码输入字符ReadOnly 文本框中的文本为只读Text 检索在控件中输入的文本方法说明Clear 删除现有的所有文本事件说明KeyPress 用户按一个键结束时将发生该事件属性说明Enabled确定是否可以启用或禁用该控件方法说明PerformClick Button 控件的 Click 事件事件说明Click 单击按钮时将触发该事件•简单窗体的设计窗体什么是事件}Windows 系统中处处是事件:}鼠标按下、鼠标释放、键盘键按下……}Windows 系统通过事件处理来响应用户的请求 显示开始菜单我的电脑窗口打开事件触发事件响应的结果 单击双击问题:要点按钮一下,能不能做一下反映呢?事件驱动Windows 通过随时响应用户触发的事件做出相应的响应——事件驱动机制WinForms 应用程序也是事件驱动的我们需要做的:针对我们感兴趣的事件,编写相应的事件处理程序示例:编写按钮控件点击事件代码namespace MyFirstWinForm{public partial class Form1 : Form{public Form1(){InitializeComponent();this.txtName.T ext = "张三";}//按钮的事件方法,里面填写代码,修改文本框的文本为李四 private void btnChange_Click(object sender, EventArgs e){this.txtName.T ext = "李四";窗体的重要事件}窗体有哪些事件?}Load :窗体加载事件}MouseClick :鼠标单击事件}MouseDoubleClick :鼠标双击事件}MouseMove :鼠标移动事件}KeyDown :键盘按下事件}KeyUp :键盘释放事件}……属性ItemsSelectionModeSelectedIndexSelectedItemSelectedItemsText方法ClearSelected事件SelectedIndexChanged控件命名规范常用窗体基本控件及命名规范Label :标签lblButton :按钮btnT extBox :文本框txt ListBox :列表框lst 详细信息请查询《C#常用控件缩写.docx》消息框3-1 MessageBox.Show (“[消息文本]");消息框用于显示消息YesNo Buttons Default Button - YES MessageBoxIcon Abort, Cancel, Ignore, No, None, Ok, Retry 和 Y es if (MessageBox.Show(“保存文件”,“保存", MessageBoxButtons.Y esNo, rmation, MessageBoxDefaultButton.Button1) == DialogResult.Y es) { //保存文件所用的代码//保存后的 MessageBox}扩展内容:消息框3-2// 最简单的消息框MessageBox.Show( "请输入用户姓名" );// 带标题的消息框MessageBox.Show("请输入用户姓名", "输入提示");// 带标题、按钮的消息框MessageBox.Show("请输入用户姓名", "输入提示", MessageBoxButtons.OKCancel );// 带标题、按钮、图标的消息框MessageBox.Show("请输入用户姓名", "输入提示",MessageBoxButtons.OKCancel, rmation ); MessageBoxButtons提供按钮的类型OKCancel 表示“确定”、“取消”按钮MessageBoxIcon提供图标类型Information 表示消息图标扩展内容:消息框3-3重载方法Show(string text);Show(string text, string caption);Show(string text, string caption, MessageBoxButtons buttons);Show(string text, string caption, MessageBoxButtons buttons, MessageBoxIcon icon);……随堂练习4 •简单窗体的设计窗体显示另外一个窗体步骤:1、定义窗体对象2、显示窗体定义窗体对象:被调用的窗体类名窗体对象 = new 被调用的窗体类名( );显示窗体:窗体对象 . Show( );窗体对象 . ShowDialog( );随堂练习5总结•WinForms可用于Windows窗体应用程序开发•标签控件用于显示用户不能编辑的文本或图像•按钮控件提供用户与应用程序交互的最简便方法•文本框用于接收用户的输入•列表框控件是列出所有选项的清单控件•窗体提供了收集、显示和传送信息的界面,是类的对象,有二种方式显示窗体•消息框用于显示消息,与用户交互Thank Y ou课后练习(完成QQ登陆)•按照给与的素材,完成QQ的登陆页面,添加事件能成功进入第二个页面课后练习(尝试)。
学习WinForm最基本控件

课程复习与回顾
❖ 学习内容总结: ❖ 1: 五大最基本控件的使用。 ❖ 2: Form 窗体常用属性。 ❖ 3: 分别使用设计器“属性框”与代码方式给
控件设置属性与事件。 ❖ 4: 学习消息框 MessageBox.show() 的用法。
30
课程复习与回顾
❖ 课后作业: ❖ 1: 书本 P37页 课后练习1,建立用户登录窗
boBox3.Items.Add("财务部"); boBox3.Items.Add("产品部"); boBox3.Items.Add("销售部"); boBox3.Items.Add("生产部"); //默认的选择是"产品部" boBox3.SelectedIndex = 1; }
22
2. 最基本控件—消息框
消息框用于显示消息
消息框窗口
MessageBox.Show(“[消息文本]");
if (MessageBox.Show(“保存文件”,“保存",
MessageBoxButtons.YesNo, rmation,
MeMsessasaggeeBBoxoIcxonDefaultButton.Button1) == DialogResult.Yes)
20
2. 最基本控件 组合框
属性
DropDownStyle MaxDropDownItems
方法
说明
ComboBox 控件的样式 下拉区显示的最大项目数
说明
t
在 ComboBox 控件上选定指定 范围的文本
21
2. 最基本控件
private void Form1_Load(object sender, EventArgs e) { boBox1.Items.Add("财务部"); boBox1.Items.Add("产品部"); boBox1.Items.Add("销售部"); boBox1.Items.Add("生产部"); //默认的选择是"产品部" boBox1.SelectedIndex = 1;
(完整word版)Winform常用控件的常用属性

常用控件的常用属性长用Name :表示一个控件或者窗体的名称。
Anchor:表示窗体拉大后控件会随这窗体的4个方向随之变化。
BackColor:控件和窗体的背景颜色。
BackgroundImage:窗体的背景图片。
Cursor:鼠标经过控件时,鼠标的图标所发生的变化。
ContextMenuStrip:鼠标单击右键,所出先的菜单。
Dock:表示该控件在窗体的那个位置的停靠。
Enabled:表示该控件是否有用默认值Ture 。
选False该控件则没有任何作用。
Font:设置控件里字体的大小、字号、字体、和下划线。
ForeColor:在控件里输入字体时,字体的颜色。
(默认值为黑色)。
Location:表示该控件在窗体中的位置。
X坐标数值越大则控件会越往右,Y坐标数值越大则控件越往下。
Size:该控件的大小width 表示控件的宽度heigth表示控件的高度。
Visible:是否隐藏该控件。
选False控件是看不见的。
Tag:Text:控件上显示的字体。
Form窗体ControlBox:表示窗体的标题栏中时候有最大化、最小化和关闭的按钮选false则不会看见这些按钮。
FormBorderStyle:表示窗体的边框线的样式和标题栏的样式和标题栏按钮显示方式。
Icon:窗体标题栏左边显示的图片。
MaximizeBox:确认标题栏里是否有最大化按钮。
MinimizeBox:确认标题栏里是否有最小化按钮。
StartPosition:运行窗体时窗体在屏幕前在那个位置显示。
WindowState:运行窗体时,窗体的显示方式(比如全屏幕显示、最小化显示、正常显示)。
Label标签BorderStyle:表示该标签的边框样式。
Image:在该标签上显示的图片。
ImageAlign:要显示图片以什么方式在标签的背景上显示。
ImageList:TextBox文本框BorderStyle:表示该文本框的边框样式。
MaxLength:可以输入多少个字符。
c#winform控件及窗体属性

c#winform控件及窗体属性窗体是程序与⽤户交互的可视界⾯,窗体也是对象,窗体类定义了⽣成窗体的模版,实例化⼀个窗体类就产⽣了⼀个窗体。
.NET框架类库的System.Windows.Forms命名空间中定义的Form类是所有窗体类的基类。
1、常⽤属性属性:图标、标题、位置、背景等可在窗体属性⾯板设置,也可以代码实现。
(1)Name属性:⽤来获取或设置窗体的名称,在应⽤程序中可通过Name属性来引⽤窗体。
(2)WindowState属性:⽤来获取或设置窗体的窗⼝状态。
取值有三种:Normal(窗体正常显⽰)、Minimized(窗体以最⼩化形式显⽰)和Maximized(窗体以最⼤化形式显⽰)。
(3)StartPosition属性:⽤来获取或设置运⾏时窗体的起始位置。
(4)Text属性:该属性是⼀个字符串属性,⽤来设置或返回在窗⼝标题栏中显⽰的⽂字。
(5)AcceptButton属性:该属性⽤来获取或设置⼀个值,该值是⼀个按钮的名称,当按Enter键时就相当于单击了窗体上的该按钮。
(6)CancelButton属性:该属性⽤来获取或设置⼀个值,该值是⼀个按钮的名称,当按Esc键时就相当于单击了窗体上的该按钮。
(7)Modal属性:该属性⽤来设置窗体是否为有模式显⽰窗体。
如果有模式地显⽰该窗体,该属性值为true;否则为false。
当有模式地显⽰窗体时,只能对模式窗体上的对象进⾏输⼊。
必须隐藏或关闭模式窗体(通常是响应某个⽤户操作),然后才能对另⼀窗体进⾏输⼊。
有模式显⽰的窗体通常⽤做应⽤程序中的对话框。
(8)ActiveControl属性:⽤来获取或设置容器控件中的活动控件。
窗体也是⼀种容器控件。
(9)ActiveMdiChild属性:⽤来获取多⽂档界⾯(MDI)的当前活动⼦窗⼝。
(10)AutoScroll属性:⽤来获取或设置⼀个值,该值指⽰窗体是否实现⾃动滚动。
如果此属性值设置为true,则当任何控件位于窗体⼯作区之外时,会在该窗体上显⽰滚动条。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
WinForm控件开发基础教程四控件属性
前一篇文章介绍了常用的设计时Attribute。
其中BrowsableAttribute,CategoryAttribute,DescriptionAttribute,DefaultPropertyAttribute,DefaultEventAttribute都是比较简单的,也是可有可无,但是为了提供更好的用户体验这些Attribute最好不要省掉,如果你对这些Attribute还不熟悉,可以参考我前一篇文章的描述或者查看MSDN,这里我就不在赘述了。
下来我们主要介绍一下DesignerSerializationVisibilityAttribute和TypeConverterAttribute。
DesignerSerializationVisibilityAttribute的功能是指示一个属性是否串行化和如何串行化,它的值是一个枚举,一共有三种类型Content,Hidden,Visible。
Content指示代码生成器为对象包含的内容生成代码,而不是为对象本身,Hidden指示代码生成器不为对象生成代码,visible指示代码生成器为对象生成代码。
假如你的控件有一个集合属性,又想在设计时自动将集合属性的内容生成代码,那么就使用这个Attribute,并将值设为DesignerSerializationVisibility.Content。
TypeConverterAttribute的作用就更大一些,也稍微复杂一些。
TypeConverterAttribute主要的目的是为属性指定一个类型转换器,这个转化器可以将属性的值转换城其它的类型。
.NET 框架已经为大部分常用的类型都提供了类型转换器,比如Color就有ColorConverter,枚举类型就有EnumConverter,等等,所以一般情况下你没有必要写类型转换器,如果你的属性的特殊的类型或者自定义的类型那么就必须要写了。
类型转换器都是从ponentModel.TypeConverter派生出来的,你需要重写其中的一些方法来达到转换的目的,在我们开发的过程中,其实只关心属性的值如何转换成字符串(因为属性的值需要在属性浏览器里显示出来,属性浏览器里显示的都是字符串)和源代码(需要自动为属性的值生成源代码以实现持久化),当然反过来,也要将字符串和源代码转换成属性的值。
另外使用TypeConverter也可以实现子属性,让属性的子属性也显示在属性浏览器里,并且可以折叠。
接下来我就写一个简单的控件来演示一下这个控件。
代码如下:
using System;
using System.Collections.Generic;
using System.Text;
using System.Windows.Forms;
using System.Drawing;
using ponentModel;
using System.Collections;
namespace CustomControlSample
{
public class MyListControl:System.Windows.Forms.Control
{
private List<Int32>_list=new List<Int32>();
public MyListControl()
{
}
[Browsable(true)]
public List<Int32>Item
{
get
{
return_list;
}
set
{
_list=value;
}
}
protected override void OnPaint(PaintEventArgs e)
{
base.OnPaint(e);
Graphics g=e.Graphics;
//绘制控件的边框
g.DrawRectangle(Pens.Black,new Rectangle(Point.Empty,new Size(Size.Width-1,Size.Height-1)));
for(Int32i=0;i<_list.Count;i++)
{
g.DrawString(_list[i].ToString(),Font,Brushes.Black,1,i*FontHeight);
}
}
}
}
我创建了一个简单的List控件,将用户输入的数据显示在控件中,效果图如下:
在这个控件中,我声明了一个集合属性Item供用户输入要显示的整型数值。
我们按照WinForm控件控件开发之二中的方法将控件加到ToolBox里,然后拖到Form设计器中,然后选中控件,在属性浏览中查看控件的属性,属性中有一个Item的属性,属性右边的值显示为Collection,当你点击这个值的时候,值的右边出现一个小按钮,点击这个小按钮,就会出现弹出一个Collection Editor窗口,你可以在在这个编辑器里添加你想显示的整型值,如图:
添加完以后,关闭Collection Editor。
现在我们看看Form设计器为我们生成了什么代码。
对于用户在Form设计器中设计的内容,设计器的代码生成器会将代码生成到窗口类的InitializeComponent()方法中,对于vs2005来说,这个方法位于***.Designer.cs文件中,在我当前的工程中位于Form1.Designer.cs文件中。
在solution浏览器中双击打开这个文件,看看Form设计器为我们生成了什么代码:
this.myListControl1.BackColor=System.Drawing.SystemColors.ActiveCaptionText;
this.myListControl1.Item=((System.Collections.Generic.List<int>) (resources.GetObject("myListControl1.Item")));
this.myListControl1.Location=new System.Drawing.Point(12,34);
="myListControl1";
this.myListControl1.Size=new System.Drawing.Size(220,180);
this.myListControl1.TabIndex=1;
this.myListControl1.Text="myListControl1";
设计器将Item的内容串行化到了资源文件里。
现在我们修改控件的代码,让设计器将Item 的内容串行化到源代码里。
我们为Item属性添加DesignerSerializationVisibilityAttribute,代码片断如下:
[Browsable(true)]
[DesignerSerializationVisibilityAttribute(DesignerSerializationVisibility.Content)]
public List<Int32>Item
{
get{return_list;}
set{_list=value;}
}
编辑完以后,Build控件工程,回到测试工程里,将Item属性里的值,删掉重新添加,添加完以后,我们再来看看设计器生成的代码:
this.myListControl1.BackColor=System.Drawing.SystemColors.ActiveCaptionText;
this.myListControl1.Item.Add(1);
this.myListControl1.Item.Add(2);
this.myListControl1.Item.Add(3);
this.myListControl1.Item.Add(6);
this.myListControl1.Item.Add(8);
this.myListControl1.Item.Add(9);
this.myListControl1.Location=new System.Drawing.Point(12,34);
="myListControl1";
this.myListControl1.Size=new System.Drawing.Size(220,180);
this.myListControl1.TabIndex=1;
this.myListControl1.Text="myListControl1";
现在设计器将Item的内容串行化到源代码里了。
时间有限,今天就写到这里,下一篇文章我来介绍TypeConverterAttribute。