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("没有找到该功能或权限不足!");
            }
        }

 

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。