如何为CheckBoxList和RadioButtonList添加滚动条

2025-05-29 0 50

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

?

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

44

45

46

47

48

49

50

51

52

53

54

55

56

57

58

59

60

61

62

63

64

65

66

67

68

69

70

71

72

73

74

75

76

77

78

79

80

81

82

83

84

85

86

87

88

89

90

91

92

93

94

95

96

97

98

99

100

101

102

103

104

105

106

107

108

109

110

111

112

113

114

115

116

117

118

119

120

121

122

123

124

125

126

127

128
#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方法:

?

1

2

3

4

5

6
protected override void Render(HtmlTextWriter writer)

{

this.WriteBeginSpan(writer);

base.Render(writer);

this.WriteEndSpan(writer);

}

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

?

1

2

3

4

5

6

7

8
public enum Overflow

{

auto = 0,

hidden = 1,

scroll = 2,

visible = 3,

inherit = 4

}

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

收藏 (0) 打赏

感谢您的支持,我会继续努力的!

打开微信/支付宝扫一扫,即可进行扫码打赏哦,分享从这里开始,精彩与您同在
点赞 (0)

声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。

快网idc优惠网 建站教程 如何为CheckBoxList和RadioButtonList添加滚动条 https://www.kuaiidc.com/100724.html

相关文章

发表评论
暂无评论