2016-06-19 8 views
2

Ich arbeite an einem sehr einfachen Projekt, wo ich etwas in die Zwischenablage kopieren kann und es in einer RichTextBox in meiner Anwendung speichert. Ich habe es Schleife durch und überprüfen Sie die Zwischenablage alle 0,5 Sekunden mit einem Timer gemacht, aber wie mache ich das erste in dem Text Kopie Aufenthalt weil das, was sie tut ist jetzt:Wie speichere ich den ersten Text in einem Textfeld und überschreibe es nicht C#. NET

-I copy something to the clipboard 
-It sends it to the TextBox 
-When I copy something else it overwrites it 

Wie mache ich ihnen ein hinzufügen nach dem anderen?

Das ist, was ich bis jetzt bekommen habe;

using System; 
using System.Collections.Generic; 
using System.ComponentModel; 
using System.Data; 
using System.Drawing; 
using System.Linq; 
using System.Text; 
using System.Threading.Tasks; 
using System.Windows.Forms; 

namespace CBR 
{ 
    public partial class mainFrm : Form 
    { 
     public mainFrm() 
     { 
      InitializeComponent(); 
     } 

     private void mainFrm_Load(object sender, EventArgs e) 
     { 
     } 

     private void clipboardUpdater_Tick(object sender, EventArgs e) 
     { 
      richTextBox1.Text = Clipboard.GetText(); 
     } 
    } 
} 
+1

richTextBox1.Text + = Clipboard.GetText(); –

+0

Ich habe es versucht, und was passiert, ist, dass die gleiche Zwischenablage alle 0,5 Sekunden kopiert wird, vielleicht muss ich den Timer nur aktualisieren, wenn es etwas Neues gibt, aber wie würde ich tun, dass eine neue Frage ist hehe –

+2

Sie können Speichern Sie in anderen Variablen, was Sie speichern, und wenn es nicht gleich ist, machen Sie die 'richTextBox1.Text + = Clipboard.GetText();' Ding ... erhalten Sie es? – matiaslauriti

Antwort

3

Scheint so, als ob Sie das suchen;

private void clipboardUpdater_Tick(object sender, EventArgs e) 
    { 
     if (!richTextBox1.Text.Contains(Clipboard.GetText())) 
     { 
      richTextBox1.Text += Clipboard.GetText(); 
     } 
    } 

Wenn Sie jede Paste trennen möchten, ersetzen Sie die Aussage mit diesem;

richTextBox1.Text += " " + Clipboard.GetText();

+0

Ja! Das hat perfekt funktioniert, ich verstehe es irgendwie, aber nicht vollständig, tut mir leid, wenn du es nicht erklären musst, aber vielleicht wird jemand ... so "!" bedeutet, dass wenn es richtig ist? –

+0

@ChristofferNilsson Hinzufügen eines! bedeutet "nicht". Wenn in diesem Fall die RichTextBox.Text-Eigenschaft ** nicht ** enthält, was im ClipBoard enthalten ist, fügen Sie sie der Eigenschaft hinzu. –

+0

Oooh! Das macht so viel Sinn! Ich hätte nie herausgefunden, dass ich hinzufügen könnte. Bleiben Sie dran, funktioniert es mit allen .Text? wie könnte ich so etwas tun .. if (! Textbox2.Text.Contain (TextBox3)) { Tun Sie etwas } –

Verwandte Themen