自定义控件,循环使用,不能赋值,请高手帮忙看下

wangmin2659 2018-04-26 10:10:46
目标:自定义一个日历控件


思路 :

1.定义一个日控件,日控件中添加一个label
2.再新建一个月控件,通过循环来将日控件,按照规则摆放。

遇到问题:

1.单独调用日控件,通过按钮赋值Control_Days正常。
2.用for循环,调用日控件,赋值Control_Days,不正常

百思不得其解,请大虾帮忙看下

图片如下:




//自定义日控件代码
public int Control_Days
{
get
{
return control_Days;
}
set
{
control_Days = value;
if (control_Days > 9)
{
this.label_Day.Location = new Point(13, this.label_Day.Location.Y);
this.label_Day.Text = control_Days.ToString();
}
}
}



//窗口中测试代码
private void button2_Click(object sender, EventArgs e)
{
if (sender is Control_Day)
{
Control_Day DayClick = (Control_Day)sender;
MessageBox.Show(DayClick.Name);
}
else
{
this.control_Day1.Control_Days = 10;
this.control_Day2.Control_Days = 20;
this.control_Day3.Control_Days = 30;
this.control_Day4.Control_Days = 40;
//这里正常
}
}

private void button1_Click(object sender, EventArgs e)
{
for (int i = 0; i <= 3; i++)
{
Control_Day MonthDay = new Control_Day(); //自定义控件Control_Day
MonthDay.Name = "Day" + i.ToString();
MonthDay.Location = new Point( 100 + i * 60,20);
MonthDay.Control_Days = i; //这里不正常
this.Controls.Add(MonthDay);
MonthDay.Click += new System.EventHandler(button2_Click);
}
}


...全文
337 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
csdnFUCKINGSUCKS 2018-04-26
  • 打赏
  • 举报
回复
public int Control_Days { get { return control_Days; } set { control_Days = value; if (control_Days > 9) { this.label_Day.Location = new Point(13, this.label_Day.Location.Y); this.label_Day.Text = control_Days.ToString(); } } } 你的Control_Days只有在大于9的时候才会给label赋值 你手动加的几个值都大于9 所以会显示 但是循环里只有四次 没有进你赋值判断的if
wangmin2659 2018-04-26
  • 打赏
  • 举报
回复
引用 1 楼 ducker3590 的回复:
public int Control_Days { get { return control_Days; } set { control_Days = value; if (control_Days > 9) { this.label_Day.Location = new Point(13, this.label_Day.Location.Y); this.label_Day.Text = control_Days.ToString(); } } } 你的Control_Days只有在大于9的时候才会给label赋值 你手动加的几个值都大于9 所以会显示 但是循环里只有四次 没有进你赋值判断的if
逻辑错误,晕死.....非常感谢! 自己太粗心啦

110,500

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧