65.9K
CodeProject 正在变化。 阅读更多。
Home

扩展 .NET 控件

starIconstarIconstarIconstarIcon
emptyStarIcon
starIcon

4.71/5 (31投票s)

2005 年 11 月 4 日

4分钟阅读

viewsIcon

197749

downloadIcon

11344

一个包含高度可定制控件的 .NET 库。

引言

我们都喜欢 XP 主题的控件,不是吗?但您是否也觉得 C# 工具箱提供的标准控件不够用?好吧,我正试图创建一个包含现有控件以及(希望)能让您惊叹的新控件的完整集合。我已经能听到有人对我喊叫,说互联网上充斥着许多人创建的此类控件。现在,让我告诉您,我正试图比其他人更具创新性。我下载了许多控件供自己使用,但总会缺少一些我需要的特性。所以现在我将创建这些控件,并尽可能包含所有可想到的功能。

Windows XP 主题化

我也不喜欢控件主题化对 UxTheme.dll 的依赖,所以这些控件不需要 Windows XP 作为操作系统。我从头开始绘制控件,所以您唯一需要使用这些控件的就是 .NET Framework 1.1 和您偏好的 Windows 版本。

ExtendedDotNET.Controls 命名空间

我创建了一个名为 ExtendedDotNET.Controls 的类库。我将在此处存储我所有的控件,以便它们都打包在一个漂亮的库中。

目前创建的 ExtendedDotNET.Controls 命名空间的概览

The ExtendedDotNET.Controls namespace

ExtendedDotNET.Controls.Panels 命名空间

此命名空间包含所有面板类控件

ExtendedDotNET.Controls.Panels.Panel

这是一个面板类控件。默认的 System.Windows.Forms.Panel 控件并没有太多功能可供展示。然而,正如您在以下图像中看到的那样,这个面板具有漂亮的 XP 风格外观。

ExtendedDotNET.Controls.Panels.Panel Preview

此控件具有以下属性

ExtendedDotNET.Controls.Panels.Panel Properties

以下属性可能需要一些解释

  • 样式
    • BorderStyle.None:不绘制边框。
    • BorderStyle.Single:使用给定的颜色和宽度绘制边框。
    • BorderStyle.Raised3D:使用给定的颜色和宽度绘制凸起边框(尚未生效)。
    • BorderStyle.Sunken3D:使用给定的颜色和宽度绘制凹陷边框(尚未生效)。
    • BorderStyle.Shadow:绘制带有单边框(给定颜色、宽度)的面板,并添加漂亮的阴影。

由于此面板控件派生自 System.Windows.Forms.Panel 控件,充当容器,因此您可以将任何喜欢的控件放置在其中。

ExtendedDotNET.Controls.Progress 命名空间

此命名空间包含所有进度条控件

ExtendedDotNET.Controls.Progress.ProgressBar

这是一个类似于 System.Windows.Forms.ProgressBar 但功能更多的进度条控件。

  • 可将进度条放置为水平或垂直。
  • 在水平和垂直模式下反转进度方向。
  • 更改边框样式。
  • 更改此控件中可以找到的每一种颜色。
  • 添加标题。
  • 更改破折号的宽度和间距。
  • 通过鼠标拖动更改值。
  • ...

ExtendedDotNET.Controls.Progress.ProgressBar Preview

此控件具有以下属性

ExtendedDotNET.Controls.Progress.ProgressBar Properties

以下属性可能需要一些解释

  • CaptionMode
    • None:进度条没有标题。
    • Percent:进度条显示其进度的百分比 [0%..100%]。
    • Value:进度条显示其进度的值 [最小值 .. 最大值]。
    • Custom:进度条显示 Caption 属性给定的字符串。此字符串可以包含变量字段(<PERCENTAGE> 和 <VALUE>),它们将被转换为相应的值。
  • ChangeByMouse
    • 将其设置为 true 将允许用户通过鼠标拖动进度条来更改值。
  • Edge
    • None:进度条没有边缘。
    • Rectangle:进度条具有矩形边缘。
    • Rounded:进度条具有像 XP 风格进度条那样的圆角边缘。
  • Orientation & Invert
    • Horizontal & false:进度条从左到右运行。
    • Horizontal & true:进度条从右到左运行。
    • Vertical & false:进度条从上到下运行。
    • Vertical & true:进度条从下到上运行。
  • BarOffset, DashSpace, DashWidth

    BarOffset, DashSpace, DashWidth

  • FloodPercentage

    FloodPercentage

  • FloodStyle
    • Standard:使用上述图像中的类似填充效果作为边缘。
    • Horizontal:对整个条使用填充效果,例如,创建从绿色到红色的进度条。

      progressbar from green to red

      要获得此效果,您必须将 FloodPercentage 设置为 1 [100%]。将 FloodPercentage 设置为 0.5 [50%] 将产生以下效果。

      progressbar from green to red

  • ProgressBarStyle
    • Dashed:创建像 XP 风格进度条那样的虚线条。
    • Solid:创建像旧风格进度条那样的实线条。
  • 类别“Properties”(属性)
    • Maximum 属性允许您更改控件范围的最大值(类型为 int)。
    • Minimum 属性允许您更改控件范围的最小值(类型为 int)。
    • Step 属性允许您更改调用 PerformStep 方法时进度条当前位置的增加量(类型为 int)。
    • Value 属性允许您更改进度条的当前位置(类型为 int)。

如何使用

在工具箱上右键单击并选择“添加/删除项...”,然后浏览 ExtendedDotNET.Controls.dll 并按“确定”。所有控件都将添加到工具箱的“我的用户控件”下。

注释

我将继续创建这些控件,并使本文档保持最新。您随时可以给我发送电子邮件以获取建议,因为我肯定会遗漏一些重要功能。

修订历史

版本 0.1 - 2005 年 10 月 26 日

  • 初始发布。
© . All rights reserved.