DevExpress——PopupContainer的灵活使用方案

项目中有这样一个需求,即就是页面上已经布局好了,但突然需要加一点东西,且不能影响整体的布局,那怎么解决呢?建议您考虑使用PopupContainerEdit控件,具体需求如下:

需求实现:

  • 新建一个form页面,然后在页面上拖拽一个CheckEdit、PopupContainerEdit、PopupContainerControl控件,在PopupContainerControl面板上添加选择日期的控件DateEdit,添加了两个按钮SimpleButton。效果如下图所示:

  • 设置PopupContainerEdit的两个属性,一个PopupControl属性选择PopupContainerControl,设置Visiable属性为false。
  • 设置CheckBox的选择事件,代码写为:
private void CheckEdit1_CheckStateChanged(object sender, EventArgs e)
{
    if (this.checkEdit1.CheckState == CheckState.Checked)
    {
        this.popupContainerEdit1.Visible = true;
        return;
    }
    this.popupContainerEdit1.Visible = false;
}
  • 设置PopupContainerEdit的点击事件,更新日期的选择格式
void popupContainerEdit1_Click(object sender, EventArgs e)
{
   this.dateEdit_start.Visible = true;
   this.dateEdit_start.Properties.ShowToday = false;
   this.dateEdit_start.Properties.ShowMonthHeaders = false;
   this.dateEdit_start.Properties.VistaCalendarInitialViewStyle = DevExpress.XtraEditors.VistaCalendarInitialViewStyle.YearView;
   this.dateEdit_start.Properties.VistaCalendarViewStyle = DevExpress.XtraEditors.VistaCalendarViewStyle.YearView;
   this.dateEdit_start.Properties.Mask.EditMask = "yyyy/MM/dd";
   this.dateEdit_start.Properties.Mask.UseMaskAsDisplayFormat = true;

   this.dateEdit_end.Visible = true;
   this.dateEdit_end.Properties.ShowToday = false;
   this.dateEdit_end.Properties.ShowMonthHeaders = false;
   this.dateEdit_end.Properties.VistaCalendarInitialViewStyle = DevExpress.XtraEditors.VistaCalendarInitialViewStyle.YearView;
   this.dateEdit_end.Properties.VistaCalendarViewStyle = DevExpress.XtraEditors.VistaCalendarViewStyle.YearView;
   this.dateEdit_end.Properties.Mask.EditMask = "yyyy/MM/dd";
   this.dateEdit_end.Properties.Mask.UseMaskAsDisplayFormat = true;
}
  • 点击确定事件,拿到选择的日期值进行之后的计算。最终在项目中的效果如下图所示:

都看到这了,留个一键三连支持一下呗!

怎么找到我?微信公众号:技术上的那点事,工作微信:wsynnh323,我们一起交流学习进步。

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值