• DotNetBar笔记


    1.TextBoxDropDown  这是一个绝对TMD坑爹的狗屁玩意儿。键盘的四个事件全部不好使。但是这个玩意儿有个好处就是他的DropDownControl属性可以用来制作ComboGrid。

    然后就是所有控件通用的输入提示功能,需要设置这几个属性

    其中第一个属性是用来设置输入提示的集合的,字符串集合。第二个属性是设置提示方式的。Suggest是下拉提示,Append是填充提示。两个都有就是即下拉,又填充。

    第三个属性是指输入提示的数据源方式,选择CustomSource就是从第一个属性设置的数据源里搜索数据。

    2.ComboBoxEx  这个控件很好用,可以实现上面控件实现不了的输入提示功能。因为他支持键盘事件。

    void BindTree() 
            {
                try
                {
                    DBManager vDBManager = new DBManager();
                    vDBManager.ConnectionOpen();
                    string sql = "SELECT MENUCODE,MENUNAME,MENUDEF FROM MENU";
                    DataTable dt = vDBManager.Query(sql).Tables[0];
                    vDBManager.ConnectionClose();
    
                    #region dgv
                    //DataGridViewX dgv = new DataGridViewX();
                    //dgv.AutoGenerateColumns = false;
                    //dgv.SelectionMode = DataGridViewSelectionMode.FullRowSelect;
                    //dgv.Columns.Add("MenuCode", "功能代码");
                    //dgv.Columns["MenuCode"].DataPropertyName = "MENUCODE";
                    //dgv.Columns["MenuCode"].ReadOnly = true;
                    //dgv.Columns["MenuCode"].Visible = false;
                    //dgv.Columns.Add("MenuName", "功能名称");
                    //dgv.Columns["MenuName"].DataPropertyName = "MENUNAME";
                    //dgv.Columns["MenuName"].ReadOnly = true;
                    //dgv.Columns.Add("MenuDef", "功能简码");
                    //dgv.Columns["MenuDef"].DataPropertyName = "MENUDEF";
                    //dgv.Columns["MenuDef"].ReadOnly = true;
                    //dgv.DataSource = dt;
                    //dgv.AllowUserToAddRows = false;
                    //dgv.MultiSelect = false;
                    //dgv.RowHeadersVisible = false;
                    //tbdMenu.DropDownControl = dgv;        这句是后来自己加的,用来设置下拉控件
                    #endregion
                
                    foreach (DataRow dr in dt.Rows) 
                    {
                        cbMenu.AutoCompleteCustomSource.Add(dr["MENUDEF"].ToString() + "_" + dr["MENUNAME"].ToString());
                        if (!mh.ContainsKey(dr["MENUDEF"].ToString() + "_" + dr["MENUNAME"].ToString())) 
                        {
                            mh.Add(dr["MENUDEF"].ToString() + "_" + dr["MENUNAME"].ToString(), dr["MENUCODE"].ToString());
                        }
                    }
    
                    dt.Dispose();
                }
                catch (Exception ex)
                {
                    MessageBox.Show(ex.Message);
                }
            }
    
            private void cbMenu_KeyDown(object sender, KeyEventArgs e)
            {
                try
                {
                    if (e.KeyCode == Keys.Enter) 
                    {
                        OnUCreateTab(new TabsEventArgs(mh[cbMenu.Text.ToUpper()].ToString()));
                    }
                }
                catch (Exception ex)
                {
                    MessageBox.Show("没有找到该功能或权限不足!");
                }
            }
  • 相关阅读:
    基本目标与达成方法
    终于搞定在VS2010中将CString转换为const char*
    【HBase学习之一】HBase简介
    Origin2017画分组柱状图
    映射是什么?函数是什么?映射与函数的关系?
    PPT一次性禁用所有动画效果
    跨模态检索技术调研
    卷积核与特征提取
    深入理解卷积层,全连接层的作用意义
    cbow 与 skip-gram的比较
  • 原文地址:https://www.cnblogs.com/wpcnblog/p/4283171.html
Copyright © 2020-2023  润新知