2017-12-01 26 views
-3

내 프로그램에 기능을 추가하는 것이 궁금해서 클립 보드 텍스트를 특정 길이로 감지하고 특정 문자로 시작할 때 클립 보드에서 텍스트를 붙여 넣을 때 다른 크기로 붙여 넣습니다.C# 현재 클립 보드 내용을 기반으로 클립 보드의 내용을 어떻게 변경합니까?

예 :

사용자 복사 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'

--Program 차단은 특정 문자열 길이와 시작하는 문자를 인식하고 text--

사용자 페이스트 'zyxwvutsrqponmlkjihgfedcba'

도움말을 전환 감사하겠습니다 :)

+0

제시해주십시오을 만들 필요가? 그래서 코드를 작성할 수 없습니다. – Sunil

+0

Stack Overflow에 오신 것을 환영합니다! 이 질문은 연구 노력을 나타내지 않으므로 http://stackoverflow.com/help/how-to-ask를 참조하십시오 – Slai

+0

나에게 나쁜 UX와 같은 소리가납니다. 먼저 텍스트 상자에 붙여 넣은 다음 실제로 반전을 수행하는 say ** Reverse ** 버튼을 클릭하는 것이 좋지 않겠습니까? – MickyD

답변

1

만약 당신이 필요하면 ections는 :

클립 보드에 복사하려면 다음을 사용할 수 있습니다

Clipboard.SetText("abcdefghijklmnopqrstuvwxyz"); 

를 사용하여 클립 보드에서이 얻을 수있는 텍스트 :

string s = Clipboard.GetText(); 

를 텍스트를 얻은 후에 당신이 당신의 규칙을 적용 할 수 있습니다 길이 및 시작 문자를 확인하고 변환을 수행하고 마지막으로 변환 된 텍스트를 텍스트 상자에 추가하십시오.

if (s.Length > 16 && s.StartsWith("abc") 
{ 
    // do your stuff here 
    string convertedText = ConvertText(s); 
    //finally 
    txtBoxToPasteTo.Text = convertedText; 
} 

가 붙여 넣기를 차단하기 위해, 당신은 당신이 지금까지 달성 한 것을 사용자 정의 텍스트 상자

class InterceptedTextBox : System.Windows.Forms.TextBox 
{ 

    protected override void WndProc(ref Message m) 
    { 
    // WM_PASTE: 
    if (m.Msg == 0x302 && Clipboard.ContainsText()) { 
     this.Text = ConvertText(Clipboard.GetText()); 
     return; 
    } 
    base.WndProc(ref m); 
    } 
} 

References