zoukankan      html  css  js  c++  java
  • WinForm框架备忘

    1.添加自定义格式化xtragrid的显示样式,例如dev的例子

    需要保存格式化条件 参考http://www.cnblogs.com/haifengtech/archive/2011/07/14/2106482.html

    2. 封装exception

      

     if (!this.DesignMode)
    {
    // 设置鼠标繁忙状态
    this.Cursor = Cursors.WaitCursor;
    try
    {
    this.FormOnLoad();
    }
    catch (Exception ex)
    {
    this.ProcessException(ex);
    }
    finally
    {
    // 设置鼠标默认状态
    this.Cursor = Cursors.Default;
    }
    }

     3.层次之间的耦合关系及数据组织方面,可以在适当的时候用IOC的思想;

       用AOP把一些系统必要功能但不是业务功能的function以AOP的方式独立出来,让他们以attribute的方式出现在系统中,以后维护和重构简直是如鱼得水

    4. 封装clearform

    ///<summary>
    /// 清除容器里面某些控件的值
    ///</summary>
    ///<param name="parContainer">容器类控件</param>
    public void ClearCntrValue(Control parContainer)
    {
    for (int index = 0; index < parContainer.Controls.Count; index++)
    {
    // 如果是容器类控件,递归调用自己
    if (parContainer.Controls[index].HasChildren)
    {
    ClearCntrValue(parContainer.Controls[index]);
    }
    else
    {
    switch(parContainer.Controls[index].GetType().Name)
    {
    case "TextBox":
    parContainer.Controls[index].Text = "";
    break;
    case "RadioButton":
    ((RadioButton)(parContainer.Controls[index])).Checked = false;
    break;
    case "CheckBox":
    ((CheckBox)(parContainer.Controls[index])).Checked = false;
    break;
    case "ComboBox":
    ((ComboBox)(parContainer.Controls[index])).Text = "";
    break;
    }
    }
    }
    }


    5. 新增多行

    6.xtragrid拖放效果

    7.layoutcontrol

    8.多级navbar

     9.xtragrid的checkbox

     10.save layout setting

     11.export to excel doc

     12.工具栏浮动到其他地方

    13.设置查询条件helper类

       

    SearchCondition condition = new SearchCondition();
    condition.AddCondition("ProductName", this.txtName.Text, SqlOperator.Like)
    .AddCondition("ProductType", this.cmbProductType.Text, SqlOperator.Like)
    .AddCondition("Specification", this.cmbSpecNumber.Text, SqlOperator.Like)
    .AddCondition("Note", this.txtNote.Text, SqlOperator.Like)
    .AddCondition("Manufacture", this.cmbManufacture.Text, SqlOperator.Like);
    string where = condition.BuildConditionSql().Replace("Where", "");

     14.加载泛型窗体

    public F Launch<F>() where F : Form, new() { F dlg = new F(); dlg.MdiParent = this; dlg.Show(); return dlg; };

     15.泛型窗体继承问题?????;

     16.delegate event;

    17.bindingsource;

    18.findcontrol<T>();

  • 相关阅读:
    ftp命令行敲不了
    转载 vsftpd安装
    ftp上传不了故障
    mysql导入数据方法和报错解决
    time使用方法
    python 进程Queue
    python 进程事件
    python 进程信号量
    python 进程锁
    python 守护进程
  • 原文地址:https://www.cnblogs.com/asingna/p/2254619.html
Copyright © 2011-2022 走看看