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

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值