VS2003(.net framework1.1)中,如果让日历控件的“星期”去掉?

首先,对自己目前仍然在“执着”地VS2003着,表示无比地难过和无奈,虽然之前也做过一段时间05的项目。
大家都知道03(.net1.1)中存在着很多不足,往往让人唉声叹气,特别是经过05的洗礼之后。
这不,产品经理看了别人05做的日历控件,非要我给她整个一模一样的。(03的日历控件总是会显示“星期*”或者“星”字样)
没办法了,以前也没有遇到过类似问题,网上求助阿。
最后在一个“如何使用DM建个人blog”的文章中找到答案,原来可以在日历的PreRender(object sender, System.EventArgs e)事件中实现。
代码如下:
 1/// <summary>
 2        /// 修改VS03日历的星期几的显示
 3        /// </summary>
 4        /// <param name="sender"></param>
 5        /// <param name="e"></param>

 6        private void Calendar1_PreRender(object sender, System.EventArgs e)
 7        {
 8            System.Threading.Thread dkWeek = System.Threading.Thread.CurrentThread;
 9            System.Globalization.CultureInfo dkNew = (System.Globalization.CultureInfo)System.Globalization.CultureInfo.CurrentCulture.Clone();
10            dkNew.DateTimeFormat.DayNames = new string[]{""""""""""""""};
11            dkNew.DateTimeFormat.FirstDayOfWeek = DayOfWeek.Sunday;
12            dkWeek.CurrentCulture = dkNew;
13        }

其实主要是改变当前线程的区域性。
当然别忘了添加:
this.Calendar1.PreRender += new System.EventHandler(this.Calendar1_PreRender);
另外记得设置日历控件的DayNameFormat为Full(默认为Short),这样就可以了。
不知道大家以前是不是有遇到过类似问题,反正我是第一次主要到这个问题,写出来也算是一个备份吧。已经了解的博友就不要批我了:(
posted @ 2007-11-23 09:41  Kevin Lin  阅读(887)  评论(3编辑  收藏  举报