博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
C#用户控件开发
阅读量:7296 次
发布时间:2019-06-30

本文共 8547 字,大约阅读时间需要 28 分钟。

 

 

控件名称:

chkSelect

label1

BeginDatePicker

EndDatePicker

 

控件代码如下(直接从UserControl继承) 

1 using System;  2 using System.Collections.Generic;  3 using System.ComponentModel;  4 using System.Drawing;  5 using System.Data;  6 using System.Linq;  7 using System.Text;  8 using System.Windows.Forms;  9  10 namespace CustomControlSample 11 { 12     [ToolboxBitmap(typeof(System.Windows.Forms.DateTimePicker))] 13     public partial class DateTimeBeginEnd : UserControl 14     { 15         public DateTimeBeginEnd() 16         { 17             InitializeComponent(); 18             this.FCheckboxVisible = true; 19             this.BeginDatePicker.Format = System.Windows.Forms.DateTimePickerFormat.Custom; 20             this.EndDatePicker.Format = System.Windows.Forms.DateTimePickerFormat.Custom; 21             this.BeginDatePicker.CustomFormat = "yyyy-MM-dd HH:mm:ss"; 22             this.EndDatePicker.CustomFormat = "yyyy-MM-dd HH:mm:ss"; 23             this.BeginDatePicker.Left=nBeginDateLeft; 24         } 25  26         private int nBeginDateLeft=25; 27  28         private DateTime FBeginDate; 29         private DateTime FEndDate; 30         private Boolean FCheckDateTime; 31         private Boolean FCheckboxVisible; 32         private Boolean FCheckboxChecked; 33         private DateTimePickerFormat FDateTimeFormat; 34         private string FDateTimeCustomFormat; 35  36         public delegate void CustomFormatChangeEventHandle(object sender, EventArgs arg); 37         public event CustomFormatChangeEventHandle FormatChanged; 38  39         private void OnFormatChanged(EventArgs e) 40         { 41             if (this.FormatChanged!=null) 42             { 43                 this.FormatChanged(this,e); 44             } 45         } 46  47         public DateTime BeginDate  48         { 49             get 50             { 51                 this.FBeginDate = this.BeginDatePicker.Value; 52                 return this.FBeginDate; 53             } 54             set 55             { 56                 this.FBeginDate = value; 57                 this.BeginDatePicker.Value = this.FBeginDate; 58             } 59         } 60  61         public DateTime EndDate 62         { 63             get 64             { 65                 this.FEndDate = this.EndDatePicker.Value; 66                 return this.FEndDate; 67             } 68             set 69             { 70                 this.FEndDate = value; 71                 this.EndDatePicker.Value =this.FEndDate; 72             } 73         } 74  75         public Boolean CheckDateTime 76         { 77             get 78             { 79                 this.FCheckDateTime = this.chkSelect.Checked; 80                 return this.FCheckDateTime; 81             } 82             set 83             { 84                 this.FCheckDateTime = value; 85                 this.chkSelect.Checked = this.FCheckDateTime; 86             } 87         } 88  89         public Boolean CheckboxVisible 90         { 91             get 92             { 93                 this.FCheckboxVisible = this.chkSelect.Visible; 94                 return this.FCheckboxVisible; 95             } 96             set 97             { 98                 this.FCheckboxVisible = value; 99                 this.chkSelect.Visible = this.FCheckboxVisible;100             }101         }102 103         public DateTimePickerFormat DateTimeFormat104         {105             get106             {107                 this.FDateTimeFormat = this.BeginDatePicker.Format;108                 return this.FDateTimeFormat;109             }110             set111             {112                 if (FDateTimeFormat != value)113                 {114                     this.FDateTimeFormat = value;115                     this.BeginDatePicker.Format = this.FDateTimeFormat;116                     this.EndDatePicker.Format = this.FDateTimeFormat;117                     OnFontChanged(null);118                 }119             }120         }121 122         public string DateTimeCustomFormat123         {124             get125             {126                 this.FDateTimeCustomFormat = this.BeginDatePicker.CustomFormat;127                 return this.FDateTimeCustomFormat;128             }129             set130             {131                 this.FDateTimeCustomFormat = value;132                 this.BeginDatePicker.CustomFormat = this.FDateTimeCustomFormat;133                 this.EndDatePicker.CustomFormat = this.FDateTimeCustomFormat;134             }135         }136 137         public Boolean CheckboxChecked138         {139             get140             {141                 this.FCheckboxChecked = this.chkSelect.Checked;142                 return this.FCheckboxChecked;143             }144             set145             {146                 this.FCheckboxChecked = value;147                 this.chkSelect.Checked = this.FCheckboxChecked;148             }149         }150 151         public event EventHandler BeginDatePickerChange;152         public event EventHandler EndDatePickerChange;153         public event EventHandler CheckBoxClick;154 155         protected void OnBeginDateChange(EventArgs arg)156         {157             if (BeginDatePickerChange != null)158                 BeginDatePickerChange(this, arg);159         }160 161         protected void OnEndDateChange(EventArgs arg)162         {163             if (EndDatePickerChange != null)164                 EndDatePickerChange(this, arg);165         }166 167         protected void OnCheckBoxChange(EventArgs arg)168         {169             if (CheckBoxClick != null)170                 CheckBoxClick(this,arg);171         }172 173         private void EndDatePicker_ValueChanged(object sender, EventArgs e)174         {175             OnEndDateChange(e);176         }177 178         private void BeginDatePicker_ValueChanged(object sender, EventArgs e)179         {180             OnBeginDateChange(e);181         }182 183         private void chkSelect_Click(object sender, EventArgs e)184         {185             OnCheckBoxChange(e);186         }187 188         private void EndDatePicker_FormatChanged(object sender, EventArgs e)189         {190             OnFormatChanged(e);191             TextChange();192         }193 194         private void BeginDatePicker_FormatChanged(object sender, EventArgs e)195         {196             OnFormatChanged(e);197             TextChange();198         }199 200         private void EndDatePicker_FontChanged(object sender, EventArgs e)201         {202             OnFormatChanged(e);203             TextChange();204             //if (System.ComponentModel.LicenseManager.UsageMode == System.ComponentModel.LicenseUsageMode.Designtime)205             //{206             //    //returnFlag = true;  DesignMode设计时状态207             //}208             //else if (System.Diagnostics.Process.GetCurrentProcess().ProcessName.ToUpper().Equals("DEVENV"))209             //{210             //    //returnFlag = true;211             //}  212         }213 214         private void TextChange()215         {216             this.BeginDatePicker.Width = TextRenderer.MeasureText(this.BeginDatePicker.Value.ToString(this.BeginDatePicker.CustomFormat), this.BeginDatePicker.Font).Width+37;217             this.EndDatePicker.Width = TextRenderer.MeasureText(this.EndDatePicker.Value.ToString(this.EndDatePicker.CustomFormat), this.EndDatePicker.Font).Width + 37;218             this.label1.Left =this.BeginDatePicker.Left+this.BeginDatePicker.Width+2;219             this.EndDatePicker.Left = this.label1.Left + this.label1.Width + 2;220         }221 222         private void BeginDatePicker_FontChanged(object sender, EventArgs e)223         {224             OnFormatChanged(e);225             TextChange();226         }227 228         private void DateTimeBeginEnd_Resize(object sender, EventArgs e)229         {230             //int nLabelLeft = 0;231             //int nEndDateLeft = 0;232             //nLabelLeft = this.BeginDatePicker.Left + this.BeginDatePicker.Width + 2;233             //this.label1.Left = nLabelLeft;234             //nEndDateLeft = this.label1.Left + this.label1.Width + 2;235             //this.EndDatePicker.Left = nEndDateLeft;236             this.BeginDatePicker.Width=(this.Width-25-label1.Width-6)/2;237             this.EndDatePicker.Width=this.BeginDatePicker.Width;238             this.label1.Left=this.BeginDatePicker.Left + this.BeginDatePicker.Width + 2;239             this.EndDatePicker.Left =this.label1.Left + this.label1.Width + 2;240         }241     }242 }

 

 

 

转载地址:http://qxynm.baihongyu.com/

你可能感兴趣的文章
802.3标准
查看>>
java爬虫笔记
查看>>
JSP导入EXCEL样式
查看>>
2.Hadoop集群安装进阶
查看>>
java研发工作组环境架设
查看>>
代码片收集
查看>>
网站备案与备案注销
查看>>
书单丨打开投资理财之路,从这25本书开始
查看>>
Less 创建css3动画@keyframes函数
查看>>
.NET Framework 4 与 .NET Framework 4 Client Profile的区别与联系
查看>>
Que pensez-vous de air jordan pas cher
查看>>
SQL Server 2008创建定期自动备份任务(转)
查看>>
SimpleDateFormat
查看>>
epoll_wait会被系统中断唤醒
查看>>
Java设计模式-代理模式
查看>>
Android--sharepreference总结
查看>>
在博客园已经一年多时间了,今天开通博客了!
查看>>
给定矩阵行数和矩阵列数,顺时针打印矩阵(从0开始)
查看>>
个人阅读作业week7
查看>>
Java数据类型(2)------自动封装拆箱
查看>>