自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(10)
  • 收藏
  • 关注

原创 写Form设计器尝试(六) 实现菜单命令

打开主窗体代码界面,为Form1添加一个私有变量:private MenuCommandService menuCommandService;修改Load事件代码,代码如下: DesignSurface surface = new DesignSurface(); //设计器 toolBoxService = new ...

2020-04-01 16:45:43 386

原创 写FORM设计器尝试(五) 让设计器使用自定义控件

先要准备一个自定义控件。新建一个Window控件方案,命名为MyControl,添加一个名为ComboBoxField的用户控件,在该用户控件上放一个Lable和一个ComboBox,生成解决方案。将生成的dll文件复制到我们的Debug目录。打开设计器方案,在有形如toolBoxService.ToolBox.Items.Add(...);的最后加上如下代码:Assembly a1 =...

2020-04-01 16:10:20 219

原创 写FORM设计器尝试(四) 修改窗体上的控件属性

接下来的步骤是实现能在PropertyGrid中随意修改任何控件的属性。只要为DesignSurface的SelectionService实现一个SelectionChanged事件就行了。切换到Form1的代码窗口,为窗体类添加一个私有成员:private ISelectionService selectionService;然后再Load事件的最后加上:selectionSer...

2020-04-01 15:39:49 319

原创 写Form设计器尝试(三) 在窗体上添加控件

新建一个继承自ToolboxService的类,名为DemoToolboxService,加上必要的using语句,在所继承的类名上按鼠标右键,点实现抽象类,已经帮我们自动完成了DemoToolboxService的框架,由于我们需要在设计器窗体上显示一个工具箱,就像VS左侧的那个工具面板,不过我们现在做一个简单一点的,就用ListBox,在DemoToolboxService中添加一个类型为Li...

2020-04-01 15:19:10 948

原创 写Form设计器尝试(二) PropertyGrid

切换到Form1的设计页面,往上面放一个SplitContainer,再在这个SplitContainer的右panel上放一个PropertyGrid,并将其Dock属性值设置成Fill。切换到代码编辑界面,并将上篇输入的代码的最后一行改成://原来的最后一行//this.Controls.Add(view);//修改成下面的代码this.splitContainer1.Pan...

2020-03-31 18:21:29 141

原创 写Form设计器尝试(一)

新建一个C# WindowForm方案,在工程的引用中增加System.Design,在Form1的代码中先添加using System.ComponentModel.Design; 然后双击Form,在Form的Load事件中写下以下代码:DesignSurface surface=new DesignSurface();surface.BeginLoad(typeo...

2020-03-31 18:08:07 287

原创 .NET控件开发基础(二)GDI+基础

GDI+是Graphics Device Interface的缩写,含义是图形设备接口,它的主要任务是负责系统与绘画程序之间的信息交换,处理所有Widnow程序的图形输出。在Window操作系统下,绝大多数具备图形界面的应用程序都离不开GDI,我们利用GDI所提供的众多函数就可以方便的在屏幕、打印机及其他输出设备上输出图形,文本等操作。GDI+对GDI进行了性能优化,并添加了许多新的功能。GD...

2020-03-17 09:55:17 268

原创 .NET控件开发基础(一)控件设计时支持方式之UITypeEditor

UITypeEditor 类提供一种基类,可以从该基类派生和进行扩展,以便为设计时环境实现自定义类型编辑器。在文本框值编辑器不足以有效地选择某些类型的值得情况下,自定义类型编辑器非常有用。若要实现自定义设计时UI 类型编辑器,必须执行下列步骤:1. 定义一个从UITypeEditor 派生的类。2. 重写EditValue 方法以处理用户界面、用户输入操作以及值得分配。3. 重写Get...

2020-03-13 10:21:31 1885

原创 .NET控件开发基础(一)控件设计时属性

Attribute 类将预定义的系统信息或用户定义的自定义信息与目标元素相关联。目标元素可以是程序集、类、构造函数、委托、枚举、事件、字段、接口、方法、可移植可执行文件模块、参数、属性(Property)、返回值、结构或其他属性(Attribute)。 属性所提供的信息也成为元数据。元数据可由应用程序在运行时进行检查以控制程序处理数据的方法,也可以由外部工具在运行前检查以控制应用...

2020-03-12 16:54:03 272

转载 C#中IDisposable接口实现

在Net中,由GC垃圾回收线程掌握对象资源的释放,程序员无法掌控析构函数的调用时机。对于一些非托管资源,比如数据库链接对象等,需要实现IDisposable接口进行手动的垃圾回收。那么什么时候使用Idisposable接口,以及如何使用呢?一、IDisposable的接口定义如下public interface IDisposable{ // Summary: //...

2020-02-27 11:04:49 960 1

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除