求好一点的时间控件,可选择小时和分的??

解决方案 »

  1.   

    在项目中新建一个Web用户控件,比如:MyTime.ascx
    界面中托3个下拉框进去,分别是时分秒,
    cs代码参考如下:
    using System;
    using System.Web.UI;
    using System.Web.UI.WebControls;
    using System.ComponentModel;
    using System.ComponentModel.Design;
    namespace GZMS.model
    {
    /// <summary>
    ///自定义时间控件。
    ///[email protected]
    /// </summary>
    public class MyTime : System.Web.UI.UserControl
    {
    protected System.Web.UI.WebControls.DropDownList DDL_h;
    protected System.Web.UI.WebControls.DropDownList DDL_s;
    protected System.Web.UI.WebControls.DropDownList DDL_m; private void Page_Load(object sender, System.EventArgs e)
    {
    // 在此处放置用户代码以初始化页面
    }
       public int Hour //取控件时间:时  
       {  
       get  
       {  
       return Convert.ToInt32(DDL_h.SelectedValue.ToString()); 
       }
       set 
       {  
       DDL_h.Items.FindByValue(value.ToString()).Selected = true;
       } 
       } 
       public int Minute //取控件时间:分  
       {  
       get  
       {  
       return Convert.ToInt32(DDL_m.SelectedValue.ToString()); 
       }  
       set  
       {  
       DDL_m.Items.FindByValue(value.ToString()).Selected = true;
       }  
       } 
       public int Second //取控件时间:秒  
       {  
       get  
       {  
       return Convert.ToInt32(DDL_s.SelectedValue.ToString()); 
       }  
       set  
       {  
       DDL_s.Items.FindByValue(value.ToString()).Selected = true;
       }  
       }   
       public string TimeValue //取控件时间:时:分:秒  
       {  
       get  
       {  
    return DDL_h.SelectedValue.ToString()+":"+DDL_m.SelectedValue.ToString()+":"+DDL_s.SelectedValue.ToString();
      
       }  
       set  
       {  
    string[] str=value.Split(':');
       DDL_h.Items.FindByValue(Convert.ToInt32(str[0]).ToString()).Selected = true;
       DDL_m.Items.FindByValue(Convert.ToInt32(str[1]).ToString()).Selected = true;
       DDL_s.Items.FindByValue(Convert.ToInt32(str[2]).ToString()).Selected = true;
       }  
       }
       public DateTime GetTime() //取控件时间:时:分:秒  
       {  
    string temp=DDL_h.SelectedValue.ToString()+":"+DDL_m.SelectedValue.ToString()+":"+DDL_s.SelectedValue.ToString();
       return Convert.ToDateTime(temp); 
      
       }  
    #region Web 窗体设计器生成的代码
    override protected void OnInit(EventArgs e)
    {
    //
    // CODEGEN: 该调用是 ASP.NET Web 窗体设计器所必需的。
    //
    InitializeComponent();
    base.OnInit(e);
    }

    /// <summary>
    /// 设计器支持所需的方法 - 不要使用代码编辑器
    /// 修改此方法的内容。
    /// </summary>
    private void InitializeComponent()
    {
    this.Load += new System.EventHandler(this.Page_Load); }
    #endregion

       public override ControlCollection Controls  
       {  
       get  
       {  
       //确定服务器是否包含子控件  
       EnsureChildControls();
       return base.Controls;  
       }  
       }  
    }
    }