将文本分配给多个文本框

时间:2013-03-01 04:40:50

标签: c#

我正在尝试使用一个按钮将特定字符输入到两个不同的文本框中,我使用的代码只能让我输入一个文本框。

private void btn9_Click(object sender, EventArgs e)
{
    txtBox1.Text = txtBox1.Text + btn9.Text;
}

我希望btn9_Click也可以用于以下内容:

private void btn9_Click(object sender, EventArgs e)
{
    txtBox2.Text = txtBox2.Text + btn9.Text;
}

3 个答案:

答案 0 :(得分:1)

只需将两行代码放入相同的按钮单击处理程序功能

即可
private void btn9_Click(object sender, EventArgs e)
{
    txtBox1.Text = txtBox1.Text + btn9.Text;
    txtBox2.Text = txtBox2.Text + btn9.Text;
}

事实上,您可以在一个函数中拥有数百行代码。通常最好将其保持在100以下以便于阅读。

更新2

获取按钮以将文本指定给最近具有焦点的任何功能

此解决方案使用jquery在文本框聚焦时(接收用户注意)更新隐藏输入的值。该解决方案使用ClientIDMode =“Static”,以便jquery能够引用正确的元素。

在ASPX页面标题中,添加脚本标记以应用我们的Jquery

<script src="//ajax.googleapis.com/ajax/libs/jqueryui/1.10.1/jquery-ui.min.js"></script>

<script>
  $("#TextBox1").focus(function () {
    $('#MyHiddenInput').val('TextBox1');
  });

  $("#TextBox2").focus(function () {
    $('#MyHiddenInput').val('TextBox2');
  });
</script>

在表单内的ASPX页面中,使用clientidmode = static

添加隐藏的输入
<asp:HiddenField id="MyHiddenInput" runat="server" ClientIdMode="Static" Value="TextBox1" />

现在,将您的文本框更改为clientIdMode =“Static”

<asp:TextBox id="TextBox1" runat="server" clientIdMode="Static" />
<asp:TextBox id="TextBox2" runat="server" clientIdMode="Static" />

**最后,在您的代码隐藏中,您可以使用这样的代码来确定哪个文本框最近有焦点

if ( MyHiddenInput.Value == "TextBox1" ){
  // Write to TextBox1
}else{
  // Write to TextBox2
}

或者,如果您在VB Forms中执行此操作,则可以处理TextBox.GotFocus事件并设置一个名为LastTextboxFocus =“...”的字符串变量来代替上面的隐藏字段方法。

答案 1 :(得分:1)

您的事件处理程序可以包含多行:

private void btn9_Click(object sender, EventArgs e)
{
    txtBox1.Text = txtBox1.Text + btn9.Text;
    txtBox2.Text = txtBox2.Text + btn9.Text;
}

答案 2 :(得分:0)

private void btn9_Click(object sender, EventArgs e)
{
  txtBox1.Text = txtBox1.Text + btn9.Text;
  txtBox2.Text = txtBox2.Text + btn9.Text;
  txtBox3.Text = txtBox3.Text + btn9.Text;
  //for Any number textboxes, u can add text .......... 
}