private void Register_Click(object sender, RoutedEventArgs e) { this.IsEnabled = false; mChildManager.TryToShow <RegisterWindow>(new EventHandler((o, ev) => { this.Dispatcher.Invoke(() => { this.IsEnabled = true; }); }), mClient); }
private void AddStu_Click(object sender, RoutedEventArgs e) { //TODO : 계정 권한에 따라 접근을 거부하는 코드 필요. string accType = ParentWindow.Client.AccountType; if (!AuthorityChecker.CheckAuthority(accType, mCurrentGrade, mCurrentClass, AccessType.Edit, ObjectToAccess.StudentList)) { MessageBox.Show("데이터를 수정할 권한이 없습니다.\n\n특정 학급의 학생 명단을 수정하려면 그 학급의 담임이여야 합니다.", "권한 없음", MessageBoxButton.OK, MessageBoxImage.Error); return; } string[] existNumbers; if (IsTableEmpty) { existNumbers = new string[] { }; } else { List <string> numsList = new List <string>(); foreach (DataRow row in mTable.Rows) { numsList.Add(row["번호"].ToString()); } existNumbers = numsList.ToArray(); } ParentWindow.Dispatcher.Invoke(() => mChildManager.TryToShow <AddStudentsWindow>((EventHandler)((o, ev) => { this.Dispatcher.Invoke(() => this.IsEnabled = true); ParentWindow.Dispatcher.Invoke(() => ParentWindow.IsEnabled = true); }), this, existNumbers, mCurrentGrade, mCurrentClass)); this.IsEnabled = false; ParentWindow.Dispatcher.Invoke(() => ParentWindow.IsEnabled = false); }
private void Window_Loaded(object sender, RoutedEventArgs e) { try { mSetting = ProgramSetting.Load(); mChildManager = new ChildWindowManager(this); if ((bool)mSetting["RememberID"]) { SaveIDCheck.IsChecked = true; IDText.Text = (mSetting["ID"] as string) ?? ""; } mChildManager.TryToShow <LoadingWindow>(new EventHandler((o, ev) => { this.Dispatcher.Invoke(() => { SetState(); }); }), "서버에 연결 중입니다...", (WaitCallback)Connect); } catch (Exception ex) { MessageBox.Show($"로그인 준비를 하는 과정에서 오류가 발생하였습니다.\n{ex.Message}"); } }