.net框架程序设计读书笔记系列
来源:互联网 发布:大数据系统架构 ppt 编辑:程序博客网 时间:2024/05/01 13:24
2004.7.15 [C#学习记录]使用C#编写一个自定义控件(高手莫入,哈哈) griefforyou [原作]
using System;
using System.Collections;
using System.ComponentModel;
using System.Drawing;
using System.Data;
using System.Windows.Forms;
namespace WindowsControlLibrary1
{
///
/// UserControl1 的摘要说明。
///
public class UserControl1 : System.Windows.Forms.UserControl
{
///
/// 必需的设计器变量。
///
private System.ComponentModel.Container components = null;
/// 私有域
private string MyText;
//存储关联的事件处理方法;
private EventHandler OnMyTextChanged;
public UserControl1()
{
// 该调用是 Windows.Forms 窗体设计器所必需的。
InitializeComponent();
// TODO: 在 InitializeComponent 调用后添加任何初始化
MyText="Static Control";
OnMyTextChanged=null;
}
///
/// 清理所有正在使用的资源。
///
protected override void Dispose( bool disposing )
{
if( disposing )
{
if( components != null )
components.Dispose();
}
base.Dispose( disposing );
}
#region Component Designer generated code
///
/// 设计器支持所需的方法 - 不要使用代码编辑器
/// 修改此方法的内容。
///
private void InitializeComponent()
{
//
// UserControl1
//
this.Name = "UserControl1";
this.Size = new System.Drawing.Size(248, 128);
this.Load += new System.EventHandler(this.UserControl1_Load);
this.Paint += new System.Windows.Forms.PaintEventHandler(this.UserControl1_Paint);
}
#endregion
private void UserControl1_Paint(object sender, System.Windows.Forms.PaintEventArgs e)
{
SizeF textSize=e.Graphics.MeasureString(MyText,Font);
float xPos=(ClientRectangle.Width/2)-(textSize.Width/2);
float yPos=(ClientRectangle.Height/2)-(textSize.Height/2);
e.Graphics.DrawString(MyText,Font,new SolidBrush(Color.Black),xPos,yPos);
}
private void UserControl1_Load(object sender, System.EventArgs e)
{
}
//公开属性
public String ControlText
{
get
{
return MyText;
}
set
{
MyText=value;
//重画
Invalidate();
//如果关联了事件处理方法,则调用该方法
if(OnMyTextChanged!=null)
{
OnMyTextChanged.Invoke(this,EventArgs.Empty);
}
}
}
//声明了一个公开事件
public event EventHandler MyTextChanged
{
add
{
OnMyTextChanged+=value;
}
remove
{
OnMyTextChanged=value;
}
}
}
}
- .net框架程序设计读书笔记系列
- 关于《.net框架程序设计》读书笔记
- 前言[《.net框架程序设计》读书笔记]
- 关于《.net框架程序设计》读书笔记
- 第十四章 数组[《.net框架程序设计》读书笔记]
- 第九章 方法[《.net框架程序设计》读书笔记]
- 之前的《.net框架程序设计》读书笔记
- Microsoft .NET框架程序设计读书笔记(一)
- .net 框架程序设计 读书笔记(一)---.net 平台构成
- .net 框架程序设计 读书笔记(一)---.net 平台构成
- .NET框架程序设计读书笔记(三)--执行程序集代码
- .Net框架程序设计读书笔记7(白话版)
- .Net框架程序设计-读书笔记(第四章 类型基础)
- .Net框架程序设计-读书笔记(前记)
- .net框架程序设计读书笔记二(Microsoft .net 框架开发平台体系架构)
- .net框架程序设计读书笔记二(Microsoft .net 框架开发平台体系架构)
- 《.NET框架程序设计》读书笔记一--.NET程序的生成以及执行过程
- [《.net框架程序设计》]前言
- makefile制作九(转载)
- MySQL优化简明指南
- php常见问题
- VB是如何做到无所不能的
- [《.NET框架程序设计》]第八章 常数与字段
- .net框架程序设计读书笔记系列
- NUnit实战体会
- 第一次test
- Hotmail免费邮箱的容量提高到250兆
- 关于OR-Mapping的学习心得体会
- 有谁告诉我 XP怎么共享? 我想和同学传个文件,,他也是XP的
- WIKI简介
- 写代码的感觉好爽
- linux不完全攻略