Я разрабатываю небольшую POS для университетского проекта.
У меня есть форма, которая действует как главное окно POS, с сеткой данных и так далее. Кроме того, у меня есть одна форма, которая является чувствительным поиском или добавочным поиском, и я хочу, чтобы эта форма выбрала один элемент в списке и вернула его в главное окно. Теперь у меня есть свойство main, которое получает этот элемент в виде строки, и когда пользователь нажимает кнопку «ОК» в форме поиска, я хочу установить это свойство в главном окне.
Все отлично работает, кроме одного: когда я пытаюсь получить доступ к listBox_Codigo.SelectedItem.ToString();
приложение пытается утилизировать и закрывает все окна ...
Кто-нибудь знает почему?
Мне просто нужна выделенная строка в этом списке и установите ее в главном окне следующим образом:
var Principal = (PDQ.Cajero)this.ParentForm;
Principal.CodigoInsertado = listBox_Codigo.SelectedItem.ToString();
this.DialogResult = DialogResult.OK;
this.Close();
где PDQ.Cajero
- это основная форма, которая вызывает эту форму.
ОБНОВЛЕНИЕ: Я только что закончил отладку, и сразу после того, как программа доберется до
listBox_Codigo.SelectedItem.ToString();
программа переходит на Dispose()
.
ОБНОВЛЕНИЕ 2
Это мой полный метод:
private void button1_Click(object sender, EventArgs e)
{
if (listBox_Codigo.SelectedItem == null)
{
if (MessageBox.Show(this, "No se puede ingresar un producto sin seleccionarlo.\n ¿Desea intentarlo de nuevo, o Salir?", "Error", MessageBoxButtons.RetryCancel, MessageBoxIcon.Exclamation) == DialogResult.Cancel)
{
DialogResult = DialogResult.Cancel;
this.Close();
}
}
else
{
var Principal = (PDQ.Cajero)this.ParentForm;
Principal.CodigoInsertado = listBox_Codigo.SelectedItem.ToString();
this.DialogResult = DialogResult.OK;
this.Close();
}
}
Так что проблема не в том, что значение равно нулю ...