如何动态在文本框中添加组合框功能

本文介绍了如何在管理软件中动态为文本框添加组合框,并在点击文本框时异步加载数据,实现数据的自动添加与更新。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

最近在开发一套管理软件中,要对七、八个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         }

 

转载于:https://www.cnblogs.com/zjgtlkj/p/3843603.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值