// Сохраняем изменения внесённые в текстовые поля private void DialogBoxClientSaveChanges() { DBC_CurrentClient.Name = textBoxClientName.Text; DBC_CurrentClient.City = textBoxClientCity.Text; DBC_CurrentClient.Address = textBoxClientAddress.Text; DBC_CurrentClient.SettlementAccount = textBoxClientSettlementAccount.Text; // Меняем название клиента(возможно оно изменилось) listBoxClients.BeginUpdate(); listBoxClients.Items.Remove(listBoxClients.SelectedItem); listBoxClients.Items.Add(DBC_CurrentClient); listBoxClients.SelectedItem = DBC_CurrentClient; listBoxClients.EndUpdate(); if (DBC_CurrentClient.Id == -1) // Это новый клиент? { Clients.clients.Add(DBC_CurrentClient, true); // Добавляем в список всех клиентов listBoxClients.Items.Add(DBC_CurrentClient); listBoxClients.SelectedItem = DBC_CurrentClient; } SetTextBoxAddTextChangedEvent(true); // Добавляем события isChangeTextBox = FlagChangeTextBoxes.None; }
private void SetCurrentClientInfo() { SetTextBoxAddTextChangedEvent(false); // Удаляем события textBoxClientName.Text = DBC_CurrentClient.Name; textBoxClientCity.Text = DBC_CurrentClient.City; textBoxClientAddress.Text = DBC_CurrentClient.Address; textBoxClientSettlementAccount.Text = DBC_CurrentClient.SettlementAccount; SetTextBoxAddTextChangedEvent(true); // Добавляем события isChangeTextBox = FlagChangeTextBoxes.None; }
// Удаляет выбранного клиента, кроме последнего private void ButtonRemoveCurrentClient_Click(object sender, EventArgs e) { if (DBC_CurrentClient != null) { var dlg = new DialogRemoveClient(DBC_CurrentClient.Name); dlg.ShowDialog(); if (dlg.DialogResult == DialogResult.OK) { if (listBoxClients.Items.Count == 1) { Clients.clients.Remove(DBC_CurrentClient); // Удаляем последнего из списка и выходим из формы редактирования Clients.CurrentClient = null; Close(); return; } int index = listBoxClients.SelectedIndex; if (index == listBoxClients.Items.Count - 1) { index--; } Clients.clients.Remove(DBC_CurrentClient); listBoxClients.Items.Remove(DBC_CurrentClient); isChangeTextBox = FlagChangeTextBoxes.None; listBoxClients.SelectedIndex = index; } } }
private void TextBoxClientSettlementAccount_TextChanged(object sender, EventArgs e) { isChangeTextBox ^= FlagChangeTextBoxes.SettlementAccount; textBoxClientSettlementAccount.TextChanged -= TextBoxClientSettlementAccount_TextChanged; }
private void TextBoxClientAddress_TextChanged(object sender, EventArgs e) { isChangeTextBox ^= FlagChangeTextBoxes.Address; textBoxClientAddress.TextChanged -= TextBoxClientAddress_TextChanged; }
private void TextBoxClientCity_TextChanged(object sender, EventArgs e) { isChangeTextBox ^= FlagChangeTextBoxes.City; textBoxClientCity.TextChanged -= TextBoxClientCity_TextChanged; }
private void TextBoxClientName_TextChanged(object sender, EventArgs e) { isChangeTextBox ^= FlagChangeTextBoxes.Name; textBoxClientName.TextChanged -= TextBoxClientName_TextChanged; // Удаляем событие }