كيفية إنشاء وظيفة تشبه الضائع لتطبيق WinForms عناصر
-
03-07-2019 - |
سؤال
وأود أن أضيف "مثل IDLE الوظائف" لC # تطبيق WinForms عناصر، ولكن ليس لدي تماما فكرة عن كيفية القيام بذلك، ولا يمكن العثور على أي شيء مفيد مع جوجل.
وذلك أساسا أريد التفاعلية واجهة سطر الأوامر، حيث يمكن للمستخدم إدخال رمز بيثون وتنفيذ ذلك (وليس فقط التعبير، يجب أن يكون من الممكن تحديد وظائف جديدة).
وهكذا، من أين تبدأ؟ هل هناك أي دروس جيدة أو عينات متوفرة؟
المحلول 4
والظهور القائمة البريدية و IronPython وجدت IronTextBox2 ، وهو مثال جيد كيف تتم الأمور. انها تحتاج القليل من التغيير والتبديل، للحصول على التوالي، ولكن خلاف ذلك هو حل جيد.
نصائح أخرى
إذا أسعفتني الذاكرة بلدي لي بشكل صحيح هناك فصلا عن تضمين بيثون في الكتاب بيثون في القشر أ >. ربما يمكنك أن تجد بعض المعلومات المفيدة هناك، ولكن منذ هذا الكتاب هو ليس ويندوز معين، قد تضطر إلى التكيف مع ذلك بنفسك.
وأود أن setyp بلدي WinForm مثل هذا: إضافة 2 مربعات النص
.1: للإخراج. تعيين الخاصية متعدد الأسطر من أول من صحيح، وجعله للقراءة فقط.
2: لالإدخال. استخدام KeyUp أو حدث بضغطة لمثل مفتاح العودة واستخدام النص لتفعل ما تريد: إضافة أمر إلى النص الناتج، رمز إطلاق ضد المحرك والتقاط إخراج مترجم
وهذا الرابط ( HTTP: // المجموعات. google.com/group/ironpy/browse_thread/thread/5e61a944c7c94d4b/0cbf29ec0f5fbb64؟pli=1 ) قد يعطي بعض الأجوبة حول إطلاق الأوامر امام نظيره محرك الثعبان.
وآيرن روبي يأتي مع مترجم سطر الأوامر. لايوجد و IronPython أيضا واحدة؟ إذا كان الأمر كذلك، فإن شفرة المصدر أن يكون بداية جيدة :) أوه، وإذا لم يحدث ذلك، تأكد أن ننظر إلى مترجم آيرن روبي، لأن كلا من اللغات تستند إلى DLR وبالتالي تتشابه بما فيه الكفاية لمعرفة من كليهما.
وهنا يذهب بلدي الحل الأكثر عام:
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" على الحدث التجزئة نفسها للاطمئنان على كل فاصل زمني.