2017-02-09 7 views
1

小さなアプリがあり、ボタンを使って別のテキストボックスにテキストを書きたい。 これは私のコードですが、ボタンをクリックするとテキストがテキストに書き込まれません。 私に助言してください。さまざまなテキストボックスのボタンを使って文字を書く方法は?

私は変更する必要がありますか?メモ帳ではすべて動作しますが、テキストボックスでは動作しません。

enter image description here

public partial class Form1 : Form 
{ 

    protected override CreateParams CreateParams 
    { 
     get 
     { 
      CreateParams param = base.CreateParams; 
      param.ExStyle |= 0x08000000; 
      return param; 
     } 
    } 

    public Form1() 
    { 
     InitializeComponent(); 
    } 

    private void button1_Click(object sender, EventArgs e) 
    { 
     { 
      SendKeys.Send("A"); 
     } 
    } 

    private void button3_Click(object sender, EventArgs e) 
    { 
     { 
      SendKeys.Send("B"); 
     } 
    } 

    private void button2_Click(object sender, EventArgs e) 
    { 
     { 
      SendKeys.Send("C"); 
     } 
    } 

    private void button4_Click(object sender, EventArgs e) 
    { 
     { 
      SendKeys.Send("D"); 
     } 
    } 
} 

}

+0

書き込みするTextBoxが1つしかないので、メモ帳に書き込むときに機能します。フォームをターゲットにするときに書き込む予定のTextBoxを指定する必要があります。 – Filburt

+0

あなたのプロジェクトについてもっと詳しく教えてもらえますか?それはWPFまたはWindows用のAPPですか、クロスパレットフォームの展開にXamarinを使用していますか? –

+0

@フィルバート私はより多くのテキストボックスを持っており、どのように検出するのですか? –

答えて

2

あなたはこの

private void button3_Click(object sender, EventArgs e) 
{ 
    //SendKeys.Send("B"); 
    txtBox.Text += "B"; 
} 

ような何かをしなければならないことしかし、あなたはテキストボックスを編集しているかわからないので、あなたは変数を導入する必要があるかもしれません

private TextBox _currTextBox; 

// wire all text boxes to this "enter" event 
private void txtBox_Enter(object sender, EventArgs e) 
{ 
    _currTextBox = (TextBox)sender; 
} 
// and accordingly 

private void button3_Click(object sender, EventArgs e) 
{ 
    _currTextBox.Text += "B"; 
} 
+0

これは1つのテキストボックス用です。すべてのテキストボックスに必要です。フォーカスはどこにありますか? –

+1

@ matus.kasper注意深い読み取り - これはすべてのテキストボックス用です。あなたが1つを入力するとき - それを現在のものとして選択してください –

+0

大変ありがとう –

関連する問題