public MainWindow() { InitializeComponent(); A = new DispatcherTimer { Interval = TimeSpan.FromSeconds(2) }; A.Tick += delegate { try { var chatClient = new ChatServiceClient(); var LiN = false; var NAME = (names.SelectedIndex != -1 && names.SelectedIndex < names.Items.Count) ? (string)((ListBoxItem)names.Items[names.SelectedIndex]).Content : ""; logins.Items.Clear(); names.Items.Clear(); var l = new string[1]; var n = new string[1]; chatClient.Spiski(ref l, ref n); foreach (var i in l) { logins.Items.Add(new ListBoxItem { Content = i }); } foreach (var i in n) { names.Items.Add(new ListBoxItem { Content = i }); } var obn = false; if (NAME != "" && n.Contains(NAME)) { var num = -1; n.First(i => { num++; return(i == NAME); }); names.SelectedIndex = num; } if (names.SelectedIndex != -1 && names.SelectedIndex < names.Items.Count) { foreach ( var i in chatClient.ClickSpisok((string)((ListBoxItem)names.Items[names.SelectedIndex]).Content, pole.Text.Split('\n').Count())) { pole.Text += i + "\n"; } obn = true; } pole.IsEnabled = vvod.IsEnabled = enter.IsEnabled = obn; os.Visibility = Visibility.Hidden; } catch { os.Visibility = Visibility.Visible; A.Stop(); } }; A.Start(); Closing += delegate { loginExit_Click(null, null); }; }