#region 查询按钮 private void btnOK_Click(object sender, EventArgs e) { this.palDate.Controls.Clear();//清空panel容器里的控件 Bind(); } #endregion #region panel里动态添加label控件 private void Bind() { //获取当前时间 DateTime datetime = Convert.ToDateTime(DateTime.Now.ToString("yyyy年MM月dd日")); //获得当月第一天 DateTime dt = new DateTime(this.dtpStartDate.Value.Year, this.dtpStartDate.Value.Month, 1); //0表示星期天 1表示星期一 int spaces = Convert.ToInt32(dt.DayOfWeek); //获取该月的天数 int days = DateTime.DaysInMonth(dt.Year, dt.Month); //定义坐标 Point currt = new Point(0, 0); for (int i = 1; i <= spaces + days; i++) { if (i > spaces) { DateTime temp = new DateTime(this.dtpStartDate.Value.Year, this.dtpStartDate.Value.Month, i - spaces); Label lbl = new Label();//创建label lbl.Text = (i - spaces).ToString();//设置label上的显示 lbl.Tag = temp.ToShortDateString(); lbl.TextAlign = ContentAlignment.MiddleCenter;//label上的文字居中对齐 lbl.AutoSize = false;//设置label尺寸不可更改 lbl.BorderStyle = BorderStyle.FixedSingle;//设置label的样式 lbl.Size = new Size(70, 40);//定义label尺寸大小 lbl.Location = currt;//定义label坐标从哪开始 this.palDate.Controls.Add(lbl);//将label添加打牌panel里 //判断未过的日期,label设置成不可用 if (datetime.Date.CompareTo(temp.Date) < 0) { lbl.Enabled = false; } } currt.X += 74; if (i % 7 == 0)//换行 { currt.X = 0; currt.Y += 44; } } } #endregion
转载于:https://www.cnblogs.com/bolg/archive/2013/05/27/3101560.html