WEB开发网
开发学院操作系统windows 2008 .NET Framework创建基于Windows应用程序 阅读

.NET Framework创建基于Windows应用程序

 2010-09-27 12:24:32 来源:WEB开发网   
核心提示: Win Forms 全面利用了 GDI+ 这一 Microsoft 下一代的二维图形系统,Win Forms 中的图形编程模式完全是面向对象的,.NET Framework创建基于Windows应用程序(5),各式各样的画笔、笔刷、图像和其它图形对象与 .NET Framework 的其它部分一

Win Forms 全面利用了 GDI+ 这一 Microsoft 下一代的二维图形系统。Win Forms 中的图形编程模式完全是面向对象的,各式各样的画笔、笔刷、图像和其它图形对象与 .NET Framework 的其它部分一样,遵循了简单易用的指导方针。开发人员目前可以使用相当不错的一些绘图新功能,如 alpha 混色、渐变色、纹理、消除锯齿以及采用除位图外的其它图像格式。与 Windows 2000 操作系统分层和透明的窗口功能配合使用,开发人员能够毫不费力地创建丰富的、更为图形化的 Win32 应用程序。

如果触发了控件的 OnPaint 事件,能够由 PaintEventArgs 访问的 System.Drawing.Graphics 对象就成为一个 GDI+ 图形对象。图形对象能够执行的所有操作都通过 GDI+ 实施。作为一个示例,使用 GDI+ 创建一个绘制渐变背景的按钮。

以下是实现这一按钮的代码:

public class GradientButton : Button {
// 保留颜色设置的成员
private Color startColor;
private Color endColor;
// 书写文字时我们将需要它
private static StringFormat format = new StringFormat();
public GradientButton() : base() {
// 初始化颜色
startColor = SystemColors.InactiveCaption;
endColor = SystemColors.ActiveCaption;
format.Alignment = StringAlignment.Center;
format.LineAlignment = StringAlignment.Center;
}
/// <summary>
/// 渐变色的终止颜色
// </summary>
public Color EndColor {
get {
return this.endColor;
}
set {
this.endColor = value;
// 如有必要,则导致重新绘制
if (this.IsHandleCreated && this.Visible) {
Invalidate();
}
}
}
/// <summary>
/// 渐变色的起始颜色
// </summary>
public Color StartColor {
get {
return this.startColor;
}
set {
this.startColor = value;
// 如有必要,则导致重新绘制
if (this.IsHandleCreated && this.Visible) {
Invalidate();
}
}
}
protected override void OnPaint(PaintEventArgs pe) {
// 绘制按钮的常规背景以形成
// 边框,等等
base.OnPaint(pe);
Graphics g = pe.Graphics;
Rectangle clientRect = this.ClientRectangle;
// 缩小矩形,以免绘制时出界
clientRect.Inflate(-1,-1);
// 创建渐变笔刷,从
// 左上角运行到右下角。
Brush backgroundBrush = new LinearGradientBrush(
new Point(clientRect.X,clientRect.Y),
new Point(clientRect.Width, clientRect.Height),
startColor,
endColor);
// 以渐变色填充背景....
g.FillRectangle(backgroundBrush, clientRect);
// 在客户机区域的中间书写文字。
g.DrawString(this.Text,
this.Font,
new SolidBrush(this.ForeColor),
clientRect,
format);
}
}

就像您所看到的,这并不是非常困难。得益于 Win Forms 和 GDI+ 面向对象的设计,无需编写任何复杂的代码,即可实现我们的 GradientButton,并且在设计器中,可以通过 Property Browser 操作 Text、Font、StartColor 和 EndColor。

编缉推荐阅读以下文章

  • 暂无相关文章

上一页  1 2 3 4 5 6  下一页

Tags:NET Framework 创建

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接