문제

C# Winforms 응용 프로그램에 "유휴 기능"을 추가하고 싶습니다. 그러나 그 방법을 수행하는 방법은 없으며 Google에서 유용한 것을 찾을 수 없습니다.

따라서 기본적으로 사용자가 일부 파이썬 코드를 입력하고 실행할 수있는 대화식 명령 줄 인터페이스를 원합니다 (표현이 아닌 새로운 기능을 정의 할 수 있어야 함).

그래서 어디서부터 시작해야합니까? 좋은 튜토리얼이나 샘플을 사용할 수 있습니까?

도움이 되었습니까?

해결책 4

내가 찾은 Ironpython 메일 링리스트를 통해 IronTextBox2, 이것은 일이 어떻게 이루어 지는지 좋은 예입니다. 실행하려면 약간의 조정이 필요하지만 그렇지 않으면 좋은 해결책입니다.

다른 팁

내 기억이 나를 올바르게 제공한다면 책에 파이썬을 포함시키는 장이 있습니다. 간단히 말한 파이썬. 아마도 유용한 정보를 찾을 수 있지만, 책은 Windows 구체적이지 않기 때문에 직접 조정해야 할 수도 있습니다.

나는 다음과 같이 내 winform을 설정합니다 : 2 개의 텍스트 상자를 추가합니다.

1 : 출력. 첫 번째의 멀티 린 속성을 True로 설정하고 읽습니다.

2 : 입력 용. 예를 들어 리턴 키에 Keyup 또는 Keypress 이벤트를 사용하고 텍스트를 사용하여 원하는 작업을 수행하십시오. 출력 텍스트 상자에 명령을 추가하고 엔진에 대한 코드를 시작하고 통역사의 캡처 출력을 캡처하십시오.

이 링크 (http://groups.google.com/group/ironpy/browse_thread/thread/5e61a944c7c94d4b/0cbf29ec0f5fbb64?pli=1) Python 엔진을 다시 시작하는 것에 대한 답변을 줄 수 있습니다.

Ironruby에는 명령 라인 통역사가 제공됩니다. Ironpython도 가지고 있지 않습니까? 그렇다면 소스 코드는 좋은 시작입니다 :) 아, 그렇지 않은 경우, 두 언어는 DLR을 기반으로하므로 두 가지 모두에서 배울만큼 충분히 유사하기 때문에 Ironruby 통역사를 살펴보십시오.

여기에서 가장 일반적인 솔루션을 사용하십시오.

Point cursorPoint;
int minutesIdle=0;

private bool isIdle(int minutes)
{
    return minutesIdle >= minutes;
}

private void idleTimer_Tick(object sender, EventArgs e)
{
    if (Cursor.Position != cursorPoint)
    {
        // The mouse moved since last check
        minutesIdle = 0;
    }
    else
    {
        // Mouse still stoped
        minutesIdle++;
    }

    // Save current position
    cursorPoint = Cursor.Position;
}

60000 간격으로 실행되는 타이머를 설정할 수 있습니다. 이렇게하면 사용자가 마우스를 움직이지 않는 몇 분만 알게 될 것입니다. 진드기 이벤트 자체에서 "isidle"을 호출하여 각 간격을 확인할 수도 있습니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top