Control + C不一致的行为

时间:2014-12-11 21:02:08

标签: c# .net visual-studio ctrl

我似乎遇到了一个问题,就像我在家时,我的应用程序检测到我为c#console命令应用程序输入Control + C.但是现在我在图书馆里只是关闭应用程序而不是阻止它像在家一样关闭。

static void DetectControlAndCPressed()
    {
        Console.CancelKeyPress += (object sender, ConsoleCancelEventArgs e) =>
        {
            var isCtrlC = e.SpecialKey == ConsoleSpecialKey.ControlC;
            var isCtrlBreak = e.SpecialKey == ConsoleSpecialKey.ControlBreak;
            if (isCtrlC)
            {
                e.Cancel = true;
                validateUsersInput(null);
            }
        };

static string validateUsersInput(string originalinput)
    {
        if (originalinput == null)
        {
            originalinput = "Control + C";
            if (Globals.errorMessageDisplayed == false)
            {
                Globals.errorMessageDisplayed = true;
                Console.WriteLine("ERROR: No Value Detected");

                return originalinput;
            }
            return originalinput;
        }
        else
        {
            string userinput = originalinput.ToLower();
            return userinput;
        }

我在while循环之前调用DetectContorlC方法,因此它会不断检测它。我不知道为什么我在不同的位置会改变它是否被捕获。

我能想到的唯一一件事就是我错过了上次保存的一些信息或其他东西,真是令人困惑的错误

1 个答案:

答案 0 :(得分:0)

我重新启动计算机并从完全相同的路径重新加载,似乎已修复它。我认为从

编译应用程序的目录感到困惑

这可能是我使用笔式驱动器引起的问题