WebExpress.TabView.textBox_KeyDown C# (CSharp) Method

textBox_KeyDown() private method

private textBox_KeyDown ( object sender, System.Windows.Input.KeyEventArgs e ) : void
sender object
e System.Windows.Input.KeyEventArgs
return void
        private async void textBox_KeyDown(object sender, KeyEventArgs e)
        {
            try
            {
                if (System.IO.File.Exists(StaticDeclarations.Historypath) && textBox.Text != null)
                {
                    ShowSuggestions();

                    if (string.IsNullOrEmpty(textBox.Text.Trim()) == false)
                    {
                        MagicBox.Clear();
                        foreach (string str in allItems1)
                        {
                            if (str.Contains(textBox.Text.Trim()))
                            {
                                string[] split = str.Split(splitChar);
                               await MagicBox.AddSuggestion(split[1], split[0], mainWindow);
                            }
                        }
                    }

                    else if (textBox.Text.Trim() == "")
                    {
                        MagicBox.Clear();

                        foreach (string str in allItems1)
                        {
                            string[] split = str.Split(splitChar);
                            await MagicBox.AddSuggestion(split[1], split[0], mainWindow);
                        }
                    }

                    StaticFunctions.AnimateHeight(ListContainer.Height, MagicBox.ItemsCount * MagicBox.ItemHeight, ListContainer, 0.2);
                }
                else
                {
                    ListContainer.Height = 0;
                    HideSuggestions();
                }
            }
            catch (Exception ex)
            {
                Console.WriteLine("Listbox find suggestions error: " + ex.Message + " " + ex.Data);
            }

            if (e.Key == Key.Down)
            {
                MagicBox.Focus();
            }
            if (e.Key == Key.Enter)
            {
                dynamic textArray = textBox.Text.Split();

                if ((textBox.Text.Contains(".") && !textBox.Text.Contains(" ") && !textBox.Text.Contains(" .") &&
                     !textBox.Text.Contains(". ")) || textArray[0].Contains(":/") || textArray[0].Contains(":\\"))
                {
                    WebView.Load(textBox.Text);
                }
                else
                {
                    try
                    {
                        dynamic dyn = JsonConvert.DeserializeObject(System.IO.File.ReadAllText("settings.json"));
                        if (Convert.ToString(dyn.SE) == "Google")
                        {
                            textBox.Text = textBox.Text.Replace(textBox.Text, "http://google.com/#q=" + textBox.Text);
                            WebView.Load(textBox.Text);
                        }
                        if (Convert.ToString(dyn.SE) == "DuckDuckGo")
                        {
                            textBox.Text = textBox.Text.Replace(textBox.Text, "https://duckduckgo.com/?q=" + textBox.Text);
                            WebView.Load(textBox.Text);
                        }
                        if (Convert.ToString(dyn.SE) == "Bing")
                        {
                            textBox.Text = textBox.Text.Replace(textBox.Text, "http://www.bing.com/search?q=" + textBox.Text);
                            WebView.Load(textBox.Text);
                        }
                    }
                    catch (Exception ex)
                    {
                        Console.WriteLine("textBox KeyDown Key.Enter error: " + ex.Message + " " + ex.Data);
                    }
                }
                HideSuggestions();
            }

        }