当前位置:编程学习 > C#/ASP.NET >>

请教如何用C#实现点击textbox弹出canlendar?

查了好久,没找到 --------------------编程问答-------------------- 这个,你到网上 搜一下,  是个时间控件。 下载一个就OK了。  --------------------编程问答-------------------- 日历控件网上一搜大把 --------------------编程问答-------------------- 说你邮箱 直接发给你   --------------------编程问答-------------------- 网上多着那 --------------------编程问答-------------------- 拖一个TextBox再拖一个monthCalendar放在textbox下面,设置
monthCalendar的visible="false"。 为TextBox添加Cick事件:
private void textBox1_Click(object sender, EventArgs e)
        {
            monthCalendar1.Show();
        }
给monthCalendar1添加DateSelected,MouseLeave事件:
private void monthCalendar1_DateSelected(object sender, DateRangeEventArgs e)
        {
            textBox1.Text = monthCalendar1.SelectionEnd.ToShortDateString();
        }

        private void monthCalendar1_MouseLeave(object sender, EventArgs e)
        {
            monthCalendar1.Hide();
        }
就可以实现你说的效果 --------------------编程问答-------------------- 有现成的JS日期控件,很好用,为什么还要自己写呢? --------------------编程问答-------------------- 算了 好人做到底。
<asp:TextBox ID="TextBox5" runat="server" Width="86px"></asp:TextBox>
<img style="cursor:hand" onclick="SelectDate(TextBox5)" src="../images/rili.gif" />
//js代码
function SelectDate(obj)
{
var o=new Object();
o.ctrl=obj;
window.showModalDialog("../SelectWindow/SelectData.htm",o,"dialogWidth:250px;dialogHeight:240px;scroll:off;toolbar:no;status:no;menubar:no;location:no;directories:no");
//静态文本页
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<title>选择日期</title>
<link href="../css/css.css" rel="stylesheet" type="text/css">
<script src="../js/calendar.js" type="text/javascript"></script>
<script language="javascript" type="text/javascript">
obj=new Object();
obj=window.dialogArguments;
</script>
</head>
<body onLoad="new Calendar().show(obj.ctrl)" >
</body>
</html>

lz既然已经有canlendar 做起来应该相当简单啦 --------------------编程问答-------------------- 用ajax啊,方便 --------------------编程问答-------------------- JQUERY UI里 有这个~~ --------------------编程问答-------------------- 邮箱告诉我发你个js
--------------------编程问答-------------------- my97http://www.open-open.com/ajax/ajax20080802084222.htm --------------------编程问答-------------------- lz说的是winform下的吧? --------------------编程问答-------------------- 用控件,很方便的 --------------------编程问答-------------------- 有一个叫什么 My97 的日历控件   网上搜一下 --------------------编程问答-------------------- my97控件,还有很多其他控件如AJAX Control Toolkit中Calendar
<script language="javascript" type="text/javascript" src="my97/WdatePicker.js" ></script>   
开始日期:<input id="ksrq" type="text" onclick="WdatePicker()"/>
--------------------编程问答-------------------- AJAX Control Toolkit中CalendarExtender
--------------------编程问答-------------------- 拖一个TextBox再拖一个monthCalendar放在textbox下面,设置
monthCalendar的visible="false"。 为TextBox添加Cick事件:
private void textBox1_Click(object sender, EventArgs e)
  {
  monthCalendar1.Show();
  }
给monthCalendar1添加DateSelected,MouseLeave事件:
private void monthCalendar1_DateSelected(object sender, DateRangeEventArgs e)
  {
  textBox1.Text = monthCalendar1.SelectionEnd.ToShortDateString();
  }

  private void monthCalendar1_MouseLeave(object sender, EventArgs e)
  {
  monthCalendar1.Hide();
  }
就可以实现你说的效果



那onclick事件如何加到asp:textbox控件上呢
--------------------编程问答--------------------

   --------------------编程问答--------------------
引用 12 楼 hookyzlr 的回复:
lz说的是winform下的吧?


不是,asp.net,web网页
--------------------编程问答-------------------- js解决,网上一大堆
--------------------编程问答-------------------- http://www.my97.net/dp/index.asp

 我 一直在用。 --------------------编程问答-------------------- 不是有日历控件嘛 --------------------编程问答-------------------- my97,国人写的,比较老了
给你写老外的,比较炫的日历控件
http://ajax.open-open.com/Calendar.htm --------------------编程问答--------------------  My97 很好狠强大! --------------------编程问答-------------------- Merry Christmas!
I wish you a Merry Christmas !~ --------------------编程问答-------------------- 用MicrosoftControlToolkit里的CalendarExtender不行吗?
给个链接:
http://www.asp.net/ajax/ajaxcontroltoolkit/Samples/Calendar/Calendar.aspx --------------------编程问答-------------------- my97,有资源有教程.可定制.很不错啊 --------------------编程问答--------------------
引用 5 楼 hookyzlr 的回复:
拖一个TextBox再拖一个monthCalendar放在textbox下面,设置
monthCalendar的visible="false"。 为TextBox添加Cick事件:
private void textBox1_Click(object sender, EventArgs e)
  {
  monthCalendar1.Show();
  }
给monthCalendar……


赞一下,很管用
补充:.NET技术 ,  ASP.NET
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,