C# 将文本框添加到日历中的每个日期
在下面的日历示例中,如果我选择多个或多个日历日并输入一个文本,则会在所有选定的日期中添加一个textbox控件,与outlook中的相同。如果不将所有日历合并到一个文本框中,如何不能让日历每天输入一个具有相同文本的单独文本框控件?多谢各位C# 将文本框添加到日历中的每个日期,c#,calendar,C#,Calendar,在下面的日历示例中,如果我选择多个或多个日历日并输入一个文本,则会在所有选定的日期中添加一个textbox控件,与outlook中的相同。如果不将所有日历合并到一个文本框中,如何不能让日历每天输入一个具有相同文本的单独文本框控件?多谢各位 public void CreateItemOnSelection(string itemText,bool editMode) { if(SelectedElementEnd==null | | SelectedElementStart==null)返回;
public void CreateItemOnSelection(string itemText,bool editMode)
{
if(SelectedElementEnd==null | | SelectedElementStart==null)返回;
CalendarTimeScaleUnitEnd=已选择ElementEnd作为CalendarTimeScaleUnit;
CalendarDayTop dayTop=选择ElementEnd作为CalendarDayTop;
CalendarDay day=选择ElementEnd作为CalendarDay;
TimeSpan duration=unitEnd!=null?unitEnd。duration:新的TimeSpan(23,59,59);
CalendarItem=新的CalendarItem(此);
DateTime dstart=SelectedElementStart.Date;
DateTime dend=SelectedElementEnd.Date;
如果(密度比(dstart)<0)
{
DateTime dtmp=dend;
dend=dstart;
dstart=dtmp;
}
item.StartDate=dstart;
item.EndDate=dend.Add(持续时间);
item.Text=itemText;
CalendarItemCancelEventArgs evtA=新CalendarItemCancelEventArgs(项目);
电子制造(evtA);
如果(!evtA.Cancel)
{
项目。添加(项目);
如果(编辑模式)
{
_creatingItem=true;
激活EditMode(项目);
}
}
}
您遇到了哪些问题。。?您附加的链接中提供的代码是否满足您的需要。。?如果没有,请在你的代码中说明事情没有按预期发生的原因、地点和原因。如果选择多天并添加一个文本框控件,所附的链接将非常有效。当我选择多个日期时,如何修改代码,使其能够在日历中的每个单元格中输入单独的文本框控件。您可以逐步查看代码,了解它添加1个文本框的原因、位置、方式以及原因,遵循同样的逻辑,实现您自己的方法来添加多个文本框。这是您需要逐步了解的内容。我建议先尝试一些东西,然后根据重构代码和/或添加附加功能的一些编码示例报告为什么事情不起作用。。这就是编程的意义所在
public void CreateItemOnSelection(string itemText, bool editMode)
{
if (SelectedElementEnd == null || SelectedElementStart == null) return;
CalendarTimeScaleUnit unitEnd = SelectedElementEnd as CalendarTimeScaleUnit;
CalendarDayTop dayTop = SelectedElementEnd as CalendarDayTop;
CalendarDay day = SelectedElementEnd as CalendarDay;
TimeSpan duration = unitEnd != null ? unitEnd.Duration : new TimeSpan(23, 59, 59);
CalendarItem item = new CalendarItem(this);
DateTime dstart = SelectedElementStart.Date;
DateTime dend = SelectedElementEnd.Date;
if (dend.CompareTo(dstart) < 0)
{
DateTime dtmp = dend;
dend = dstart;
dstart = dtmp;
}
item.StartDate = dstart;
item.EndDate = dend.Add(duration);
item.Text = itemText;
CalendarItemCancelEventArgs evtA = new CalendarItemCancelEventArgs(item);
OnItemCreating(evtA);
if (!evtA.Cancel)
{
Items.Add(item);
if (editMode)
{
_creatingItem = true;
ActivateEditMode(item);
}
}
}