⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 rainbow.cs

📁 C#高级编程第6版随书源代码 值得下载
💻 CS
字号:
using System;
using System.Data;
using System.Configuration;
using System.Linq;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
using System.Xml.Linq;
using System.Drawing;

namespace PCSCustomWebControls
{
   public class RainbowLabel : Label
   {
      private Color[] colors = new Color[] {Color.Red,
                                            Color.Orange,
                                            Color.Yellow,
                                            Color.GreenYellow,
                                            Color.Blue,
                                            Color.Indigo,
                                            Color.Violet};

      private int offset
      {
         get
         {
            object rawOffset = ViewState["_offset"];
            if (rawOffset != null)
            {
               return (int)rawOffset;
            }
            else
            {
               ViewState["_offset"] = 0;
               return 0;
            }
         }
         set
         {
            ViewState["_offset"] = value;
         }
      }

      public void Cycle()
      {
         offset = ++offset;
      }

      protected override void Render(HtmlTextWriter output)
      {
         string text = Text;
         for (int pos = 0; pos < text.Length; pos++)
         {
            int rgb = colors[(pos + offset) % colors.Length].ToArgb()
                                                          & 0xFFFFFF;
            output.Write(string.Format(
               "<font color=\"#{0:X6}\">{1}</font>", rgb, text[pos]));
         }
      }
   }
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -