简单封装My97Date日期控件
1

2
public class DateTextBox : TextBox3

{4

"OnPreRender"#region "OnPreRender"5
protected override void OnPreRender(EventArgs e)6

{7
base.OnPreRender(e);8

9
if (DesignMode)10

{11
return;12
}13

14
string script = "";15

16
//是否只读17
if (IsReadOnly)18

{19
script += "readOnly:true";20
}21

22
//语言23
switch (Language)24

{25
case Language.English:26
script += ",lang:'en'";27
break;28
case Language.Simplified:29
script += ",lang:'zh-cn'";30
break;31
default:32
case Language.Traditional:33
script += ",lang:'zh-tw'";34
break;35
}36

37
//皮肤38
switch (DateSkin)39

{40
case DateSkin.extSkin:41
script += string.Format(",skin:'{0}'", "ext");42
break;43
case DateSkin.whyGreenSkin:44
script += string.Format(",skin:'{0}'", "whyGreen");45
break;46
}47

48
//显示显示清楚按钮49
if (!IsShowClear)50

{51
script += ",isShowClear:false";52
}53

54
//是否显示今天55
if (!IsShowToday)56

{57
script += ",isShowToday:false";58
}59

60
//数据格式61
if (!string.IsNullOrEmpty(DataFormat))62

{63
script += string.Format(",dateFmt:'{0}'", DataFormat);64
}65

66
//双日历67
if (IsDoubleCalendar)68

{69
script += ",doubleCalendar:true";70
}71

72
//最大日期73
if (MaxDate.HasValue)74

{75
script += string.Format(",maxDate:'{0}'", MaxDate.Value.ToLongDateString());76
}77

78
//最小日期79
if (MixDate.HasValue)80

{81
script += string.Format(",minDate:'{0}'", MixDate.Value.ToLongDateString());82
}83

84
if (string.IsNullOrEmpty(script))85

{86
this.Attributes.Add("onclick", "WdatePicker();");87
}88
else89

{90
if (script.StartsWith(","))91

{92
script = script.Substring(1);93
}94
script = "{" + script + "}";95
this.Attributes.Add(EventName, string.Format("WdatePicker({0});", script));96
}97

98
this.Attributes.Add("class", Class);99
}100
#endregion101
102

"默认触发事件"#region "默认触发事件"103
private string eventName = "onfocus";104

/**//// <summary>105
/// 默认触发事件106
/// </summary>107
[Category("DateExt")]108
public string EventName109

{110
get111

{112
return eventName;113
}114
set115

{116
eventName = value;117
}118
}119
#endregion120

121

"是否只读"#region "是否只读"122
private bool isReadOnly = true;123

/**//// <summary>124
/// 是否只读125
/// </summary>126
[Category("DateExt")]127
public bool IsReadOnly128

{129
get130

{131
return isReadOnly;132
}133
set134

{135
isReadOnly = value;136
}137
}138
#endregion139

140

"皮肤名称"#region "皮肤名称"141
private DateSkin skinName = DateSkin.defaultSkin;142

/**//// <summary>143
/// 皮肤名称144
/// </summary>145
[Category("DateExt")]146
public DateSkin DateSkin147

{148
get149

{150
return skinName;151
}152
set153

{154
skinName = value;155
}156
}157
#endregion158

159

"是否显示清除按钮"#region "是否显示清除按钮"160
private bool isShowClear = true;161

/**//// <summary>162
/// 是否显示清除按钮163
/// </summary>164
[Category("DateExt")]165
public bool IsShowClear166

{167
get168

{169
return isShowClear;170
}171
set172

{173
isShowClear = value;174
}175
}176

177
#endregion178

179

"是否显示今天按钮"#region "是否显示今天按钮"180
private bool isShowToday = true;181

/**//// <summary>182
/// 是否显示今天按钮183
/// </summary>184
[Category("DateExt")]185
public bool IsShowToday186

{187
get188

{189
return isShowToday;190
}191
set192

{193
isShowToday = value;194
}195
}196
#endregion197

198

"默认样式"#region "默认样式"199
private string dateClass = "Wdate";200

/**//// <summary>201
/// 默认样式202
/// </summary>203
[Category("DateExt")]204
public string Class205

{206
get207

{208
return dateClass;209
}210
set211

{212
dateClass = value;213
}214
}215
#endregion216

217

"显示格式"#region "显示格式"218
private string dataFormat = "yyyy-MM-dd";219

/**//// <summary>220
/// 显示格式:yyyy-MM-dd HH:mm:ss221
/// </summary>222
[Category("DateExt")]223
public string DataFormat224

{225
get226

{227
return dataFormat;228
}229
set230

{231
dataFormat = value;232
}233
}234
#endregion235

236

"是否双日历"#region "是否双日历"237
private bool isDoubleCalendar = false;238

/**//// <summary>239
/// 是否双日历240
/// </summary>241
[Category("DateExt")]242
public bool IsDoubleCalendar243

{244
get245

{246
return isDoubleCalendar;247
}248
set249

{250
isDoubleCalendar = value;251
}252
}253
#endregion254

255

"默认语言"#region "默认语言"256
private Language language = Language.Simplified;257

/**//// <summary>258
/// 默认语言259
/// </summary>260
[Category("DateExt")]261
public Language Language262

{263
get264

{265
return language;266
}267
set268

{269
language = value;270
}271
}272
#endregion273

274

"最大日期"#region "最大日期"275
private DateTime? maxDate;276

/**//// <summary>277
/// 最大日期278
/// </summary>279
[Category("DateExt")]280
public DateTime? MaxDate281

{282
get283

{284
return maxDate;285
}286
set287

{288
maxDate = value;289
}290
}291
#endregion292

293

"最小日期"#region "最小日期"294
private DateTime? mixDate = DateTime.MinValue;295

/**//// <summary>296
/// 最小日期297
/// </summary>298
[Category("DateExt")]299
public DateTime? MixDate300

{301
get302

{303
return mixDate;304
}305
set306

{307
mixDate = value;308
}309
}310
#endregion311
} public enum DateSkin
{
defaultSkin,
whyGreenSkin,
extSkin
}

浙公网安备 33010602011771号