2016-04-23 7 views
0

Ich bin relativ neu in C#, aber ich bin derzeit erstellen ein Windows Form, die ein Editor-Fenster hat. Ich habe Schwierigkeiten mit der Schaltfläche "Einfügen", obwohl ich zwei Textfelder habe, eines für den Titel der Notiz und eines für die Notiz selbst. Ich möchte aus der Zwischenablage in beide Textfelder einfügen können.Wie man Text aus der Zwischenablage in ausgewählte Textbox mit Hilfe einer Schaltfläche einfügen

Ich habe versucht mit if-Anweisungen basierend auf noteText.Focused und aber offensichtlich funktioniert das nicht, da die Schaltfläche Einfügen konzentriert wird, sobald Sie darauf klicken.

Alle Vorschläge wären von großer Hilfe.

+0

Also ist die Frage über Clip-Board-Daten erhalten oder fokussierte Textbox bekommen? – Shaharyar

+0

Speichern Sie einfach das letzte fused Textfeld in einer Klassenstufe __variable__. – TaW

+0

Die Frage besteht darin, die Zwischenablagedaten zu erhalten und sie in das Textfeld "last focused" einzufügen. –

Antwort

1

Erstellen Sie eine lokale Variable und speichern Sie die letzte fokussierte TextBox darin.

//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

Vielen Dank, das funktioniert super! –

Verwandte Themen