zoukankan      html  css  js  c++  java
  • 如何动态在文本框中添加组合框功能

    最近在开发一套管理软件中,要对七、八个Textbox动态添加可以选择的组合框,点击文本框中先显示组合框Combox并且在组合框中异步加载数据,选择Combox数据,并自动将数据添加Textbox.text中,如果按照常规写法,可能需要更多的代码;

     1         void Form1_Load(object sender, EventArgs e)
     2         {
     3             //对三个文本框添加事件
     4             textBox1.Click += new EventHandler(textBox1_Click);
     5             textBox2.Click += new EventHandler(textBox1_Click);
     6             textBox3.Click += new EventHandler(textBox1_Click);
     7         }
     8 
     9         void textBox1_Click(object sender, EventArgs e)
    10         {
    11             //TODO:定义一个动态组合框
    12             ComboBox cmb = new ComboBox();
    13 
    14             TextBox txtBox = sender as TextBox;
    15           
    16             //用组合框来覆盖文本框
    17             cmb.Location = txtBox.Location;
    18             cmb.Size = txtBox.Size;
    19 
    20             this.Controls.Add(cmb);
    21             cmb.Visible = true;
    22             //置前
    23             cmb.BringToFront();
    24 
    25             //对组合框异步加载
    26            ThreadPool.QueueUserWorkItem(
    27                state =>
    28                    this.BeginInvoke(new Action(() =>
    29                    { cmb.Items.AddRange(new object[] {"one", "two", "three"}); })));   
    30 
    31             //添加事件,使用匿名方法
    32             cmb.SelectedIndexChanged += delegate
    33             {
    34                 txtBox.Text = cmb.Text;
    35                 //置后
    36                 cmb.SendToBack();
    37                 cmb = null;
    38             };
    39 
    40         }
  • 相关阅读:
    java:产生小数位数为2的随机概率,使得和为1
    大数据网络分析规划
    java碎笔
    mysql修改记录
    mysql导入导出数据
    Centos中hive/hbase/hadoop/mysql实际操作及问题总结
    linux后台运行程序
    Centos搭建mysql/Hadoop/Hive/Hbase/Sqoop/Pig
    ARM-LINUX自动采集温湿度传感器数据
    java中枚举类型的使用
  • 原文地址:https://www.cnblogs.com/zjgtlkj/p/3843603.html
Copyright © 2011-2022 走看看