1

特定の文字を2つの異なるテキストボックスに入力する1つのボタンを取得しようとしています。使用しているコードでは、1つのテキストボックスにのみ入力できます。

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;
}
4

3 に答える 3

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 フォームでこれを行っている場合は、TextBox.GotFocusイベントを処理し、上記の隠しフィールド メソッドの代わりに LastTextboxFocus = "..." という文字列変数を設定できます。

于 2013-03-01T04:43:18.033 に答える
1

イベント ハンドラーには複数の行を含めることができます。

private void btn9_Click(object sender, EventArgs e)
{
    txtBox1.Text = txtBox1.Text + btn9.Text;
    txtBox2.Text = txtBox2.Text + btn9.Text;
}
于 2013-03-01T04:43:24.613 に答える
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 .......... 
}
于 2013-03-01T04:44:25.680 に答える