إكمال علامة تبويب تطبيق وحدة التحكم .NET

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

  •  09-06-2019
  •  | 
  •  

سؤال

هل لديك أي أفكار حول كيفية تنفيذ إكمال علامة التبويب لتطبيق وحدة التحكم .NET (C#)؟وأعني ذلك ضمن تطبيق يتم تشغيله ثم تكرار إدخال المستخدم (مثل تشغيل ftp.exe بدون أي وسيطات)، مثل هذا:

        string line = string.Empty;
        while (line != "exit")
        {
            //do something here
            Console.ReadLine();
        }

أعلم أنني ربما لم أتمكن فعليًا من استخدام خط القراءة، ولكن أود أن أكون قادرًا على إكمال علامة التبويب في نفس النقطة التي تسترد فيها المدخلات من المستخدم.

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

المحلول

ألقِ نظرة على هذا الرمز من مشروع Monohttp://tirania.org/blog/archive/2008/Aug-26.htmlلقد لعبت معها في يوم آخر.إنه يقوم بالكثير من عمليات تحرير سطر الأوامر، لكنني لا أعتقد أنه يقوم بإكمال السطر.

نصائح أخرى

قم بعمل Console.ReadKey().

إذا حصلت على علامة تبويب، فانظر إلى ما لديك في المخزن المؤقت للأوامر، وقم بالتكرار عبر الأوامر المتاحة لديك.لو someCommand.Name.BeginsWith(currentinput), ، لديك فائز، ويمكنك الكتابة لعرض قائمة بالأوامر المحتملة.

لو هناك واحد فقط (TM) يمكنك استبداله بما كتبه المستخدم :)

لقد قمت بإنشاء lib صغير لإضافة هذه الوظيفة إلى التطبيق الذي قمت بإنشائه:

https://github.com/fjunqueira/hinter

قد لا يناسب احتياجاتك، ولكن لا تتردد في تعديله.

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