我在表单中有20个文本框和40个按钮,我想点击40个按钮中的任意一个,然后它会将值插入到20个文本框的当前聚焦或活动文本框中。
但我不知道如何在C#中处理这个问题,请问任何想法会很棒吗?
谢谢,
答案 0 :(得分:1)
如何使用textBox的数组(如4个文本框的示例)
假设您有4个文本框,其名称为tbx0
,tbx1
,tbx2
,tbx3
TextBox[] array = new TextBox[4]{tbx0, tbx1, tbx2, tbx3};
然后当你想插入一个文字时:
for(int i=0; i<4; i++)
{
if(array[i].Focused)
{
array[i].Text = yourText;
}
}
答案 1 :(得分:1)
我会为最后一个聚焦文本框保留一个变量,并将其设置在textbox_LostFocus上。因为当您单击按钮时,文本框将失去控制权。然后你可以调用那个文本框.Text属性并设置它
前代码:
textBox.LostFocus += (sender, e) => { lastTextBox = sender as TextBox; }
按钮点击事件中的:
.
.
lastTextBox.Text = textToSet;
.
.
编辑:
为了满足具有多个控件的条件,您可以在创建文本框时使用循环,并仅使用一行处理为每个控件设置事件。如果这不能满足您的要求,请告诉我,我可以调整。
答案 2 :(得分:0)
你可以做到
TextBox focusedTxt = Controls.OfType<TextBox>().FirstOrDefault(x => x.Focused);