First you'll need to set the textbox as 'read only' in code behind, usually in Page_Load event like this:
TxtDate.Attributes.Add("readonly","readonly");
Next, modify the design of the textbox to be like this in markup:
<asp:TextBox ID="TxtDate" runat="server" Width="150px"></asp:TextBox>
<a href="JavaScript:clearText('<%=TxtDate.ClientID %>')">
<img alt="" src="../clear.png"></img></a>
<asp:CalendarExtender ID="CalendarExtender1" runat="server" Enabled="True"
Format="dd-MMM-yy" PopupPosition="Right" TargetControlID="TxtDate">
</asp:CalendarExtender>
And finally add this small script to clear the date:
<script type="text/javascript">
function clearText(ctrl) {
document.getElementById(ctrl).value = "";
};
By doing this, you will have a textbox when clicking on it it will pop up the calendar, it will not allow users to type in, and when the user click on the "clear" image associated with the textbox, it will clear the text.