DotNetBar笔记

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

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

DotNetBar笔记

其中第一个属性是用来设置输入提示的集合的,字符串集合。第二个属性是设置提示方式的。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("没有找到该功能或权限不足!");

            }

        }

 

你可能感兴趣的:(net)