如何为CheckBoxList和RadioButtonList添加滚动条

发布时间:2022-04-16 发布网站:脚本宝典
脚本宝典收集整理的这篇文章主要介绍了如何为CheckBoxList和RadioButtonList添加滚动条脚本宝典觉得挺不错的,现在分享给大家,也给大家做个参考。

如何给CheckBoxList和RadioButtonList添加滚动条?
继承基类CheckBoxListRadioButtonList,添加滚动属性,重写Render方法即可。
属性列表:

#region 滚动控制
    PRivate bool _ShowScrollBar = false;
    /// <summary>
    /// 显示滚动条
    /// </summary>
    [
    System.componentModel.Description("是否显示显示滚动条")
    , System.COMponentModel.DefaultValue(false)
    , System.ComponentModel.Category("滚动条设置")
    , System.ComponentModel.Bindable(System.ComponentModel.BindableSupport.Yes)
    ]
    public bool ShowScrollBar
    {
      get { return _ShowScrollBar; }
      set { _ShowScrollBar = value; }
    }
    private Overflow _OverflowY = Overflow.auto;
    /// <summary>
    /// 竖直滚动条
    /// </summary>
    [
    System.ComponentModel.Description("竖直滚动条")
    , System.ComponentModel.DefaultValue(Overflow.auto)
    , System.ComponentModel.Category("滚动条设置")
    , System.ComponentModel.Bindable(System.ComponentModel.BindableSupport.Yes)
    ]
    public Overflow OverflowY
    {
      get { return _OverflowY; }
      set { _OverflowY = value; }
    }
    private Overflow _OverflowX = Overflow.auto;
    /// <summary>
    /// 水平滚动条
    /// </summary>
    [
    System.ComponentModel.Description("水平滚动条")
    , System.ComponentModel.DefaultValue(Overflow.auto)
    , System.ComponentModel.Category("滚动条设置")
    , System.ComponentModel.Bindable(System.ComponentModel.BindableSupport.Yes)
    ]
    public Overflow OverflowX
    {
      get { return _OverflowX; }
      set { _OverflowX = value; }
    }
    private UnIT _ScrollHeight = Unit.Parse("0px");
    /// <summary>
    /// 滚动高度
    /// </summary>
    [
    System.ComponentModel.Description("滚动高度")
    , System.ComponentModel.Category("滚动条设置")
     , DefaultValue("0px")
    , System.ComponentModel.Bindable(System.ComponentModel.BindableSupport.Yes)
    ]
    public Unit ScrollHeight
    {
      get { return _ScrollHeight; }
      set { _ScrollHeight = value; }
    }
    private Unit _ScrollWidth = Unit.Parse("0px");
    /// <summary>
    /// 滚动度
    /// </summary>
    [
    System.ComponentModel.Description("滚动宽度")
    , System.ComponentModel.Category("滚动条设置")
    , DefaultValue("0px")
    , System.ComponentModel.Bindable(System.ComponentModel.BindableSupport.Yes)
    ]
    public Unit ScrollWidth
    {
      get { return _ScrollWidth; }
      set { _ScrollWidth = value; }
    }
    private string _ScrollCssClass = "";
    /// <summary>
    /// 滚动样式设置
    /// </summary>
    [
    System.ComponentModel.Description("滚动样式设置")
    , System.ComponentModel.Category("滚动条设置")
    , System.ComponentModel.DefaultValue("")
    , System.ComponentModel.Bindable(System.ComponentModel.BindableSupport.Yes)
    ]
    public string ScrollCssClass
    {
      get { return _ScrollCssClass; }
      set { _ScrollCssClass = value; }
    }

    #region 书写标签
    void WriteBeginSpan(HtMLTextWriter writer)
    {
      if (this._ShowScrollBar)
      {
        StringBuilder strSpan = new StringBuilder();
        strSpan.ApPEnd("<span ");
        strSpan.Append(string.Format("style='overflow-y:{0};overflow-x:{1};",
          System.Enum.GetName(typeof(Overflow), this._OverflowY),
          System.Enum.GetName(typeof(Overflow), this._OverflowX)));
        if (this._ScrollHeight.ToString() != "0px")
        {
          strSpan.Append(string.Format("height:{0};", this._ScrollHeight));
        }
        if (this._ScrollWidth.ToString() != "0px")
        {
          strSpan.Append(string.Format("width:{0};", this._ScrollWidth));
        }
        strSpan.Append("';");
        if (!string.IsNullOrEmpty(_ScrollCssClass))
        {
          strSpan.Append(string.Format(" class='{0}'", _ScrollCssClass));
        }
        strSpan.Append(">");
        writer.Write(strSpan.ToString());
      }
    }
    void WriteEndSpan(HtmlTextWriter writer)
    {
      if (this._ShowScrollBar)
      {
        writer.Write("</span>");
      }
    }
    #endregion
    #endregion

重写Render方法:&nbsp;

 protected override void Render(HtmlTextWriter writer)
    {
      this.WriteBeginSpan(writer);
      base.Render(writer);
      this.WriteEndSpan(writer);
    } 

就这样就可以了。
还要定义一个枚举:

public enum Overflow
  {
    auto = 0,
    hidden = 1,
    scroll = 2,
    visible = 3,
    inherit = 4
  }

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本宝典。

脚本宝典总结

以上是脚本宝典为你收集整理的如何为CheckBoxList和RadioButtonList添加滚动条全部内容,希望文章能够帮你解决如何为CheckBoxList和RadioButtonList添加滚动条所遇到的问题。

如果觉得脚本宝典网站内容还不错,欢迎将脚本宝典推荐好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。