2016-04-23 14 views
0

私は比較的新しいですが、エディタウィンドウを持つWindowsフォームを作成しています。私は2つのテキストボックスフィールド、1つはノートのタイトル用、もう1つはノート用のフィールドを持っているので、私はペーストボタンで苦労しています。クリップボードからいずれかのテキストボックスに貼り付けることができるようにしたいと思います。ボタンを使用してクリップボードから選択したテキストボックスにテキストを貼り付ける方法

私はnoteText.FocusedtitleText.Focusedに基づいてif文を使用しようとしましたが、ペーストボタンがクリックされるとすぐにフォーカスが当たってしまうので、明らかにこれは機能しません。

ご意見があれば助かります。

+0

ですから、クリップボードのデータを取得したり、テキストボックスにフォーカスを当てたりするのはどうですか? – Shaharyar

+0

クラスレベルの__variable__に最後のfousedテキストボックスを格納するだけです。 – TaW

+0

質問は、クリップボードのデータを取得し、最後にフォーカスを当てたテキストボックスに貼り付けることです。 –

答えて

1

ローカル変数を作成し、最後にフォーカスしたtextBoxを保存します。

//subscribe both textBoxes with same GotFocus event handler 
textBox1.GotFocus += textBox_GotFocus; 
textBox2.GotFocus += textBox_GotFocus; 

//local variable 
TextBox lastSelected; 

//GotFocus 
private void textBox_GotFocus(object sender, EventArgs e) 
{ 
    //save last Selected textBox 
    lastSelected = sender as TextBox; 
} 

private void button1_Click_1(object sender, EventArgs e) 
{ 
    //on click get value from clipboard 
    if(lastSelected != null) 
     lastSelected.Text = Clipboard.GetText(); 
} 
+0

ありがとう、これは素晴らしいです! –

関連する問題