قم بإنشاء تطبيق وحدة التحكم Win C# لإظهار الأمر المحتمل عندما يقوم المستخدم بالضغط على TAB

StackOverflow https://stackoverflow.com/questions/1821042

  •  10-07-2019
  •  | 
  •  

سؤال

أقوم بتطوير تطبيق وحدة التحكم في C# مع الكثير من المعلمات وفي بعض الأحيان لا أستطيع كمطور أن أتذكر مجموعة من المعلمات لاستدعاء التطبيق بالطريقة الصحيحة، ولا أستطيع حتى التفكير في كيفية قيام المستخدمين بذلك.لذلك أسألك ما هي الطريقة (المدرسية) المناسبة لجعل تطبيقي يعمل مثل نظام التشغيل UNIX OS.أنت تعرف ما أحاول تحقيقه هو أنه عندما يستدعي المستخدم التطبيق وبعد ذلك عندما يضغط على علامة التبويب، يحصل على قائمة بالأوامر المحتملة، بعد اختيار أحد الأوامر مرة أخرى، يضغط على علامة تبويب ويحصل على قائمة مرجعية بالمعلمات والأوامر الأخرى.

هل كانت مفيدة؟

المحلول

تطوير التطبيق الخاص بك باعتباره بوويرشيل كمدليت.يحتوي Powershell بالفعل على بنية أساسية مدمجة لإكمال علامات التبويب.على سبيل المثال، إذا قمت بما يلي لـ dir CmdLet:

dir -فاتورة غير مدفوعة

ثم ضرب فاتورة غير مدفوعة سيتم التنقل بشكل متكرر عبر الخيارات الممكنة لـ dir يأمر:

  • دير -مسار
  • دير -LiteralPath
  • دير -تصفية
  • دير -تشمل

إلى آخره.

نصائح أخرى

وأعتقد أن أسهل طريقة للقيام بذلك هو استخدام في طريقة Console.ReadKey . وهذا سوف يسمح لك للحصول على مفتاح علامة التبويب بأسرع ما يكون الضغط عليه من قبل المستخدم. يمكنك بعد ذلك التعامل مع هذا ضغطة واذا كان علامة تبويب، وتحديد السياق الحالي وطباعة الأوامر حسب الاقتضاء.

إذا أنا فهم صحيح، وتريد أن تحاكي الانتهاء سطر الأوامر للبرمجة في zsh (Z قذيفة).

ولسوء الحظ، تم بناء هذه الوظيفة في لقذيفة، على الرغم من أنه هو أيضا للبرمجة. استكمال ما يحدث هناك يحدث في الواقع قبل أن يتم بدء تشغيل البرنامج حتى.

إذا تم تشغيل zsh على ويندوز، والتي ينبغي أن يكون ممكنا مع سيغوين، هل يمكن برمجة ذلك للمساعدة في إنجاز فلكس.

إلا أنني أعتقد أن لديك الخيار الوحيد هو أن تبدأ نوعا من جلسة تفاعلية بمجرد بدأ البرامج؛ على سبيل المثال، طباعة جميع الخيارات عند بدء تشغيل البرنامج، وانتظر من المستخدم إدخال إحدى المعلمات، ثم عرض كافة تركيبات المعلمة المحتملة التالية.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top