두 단어에서 이전 선택 항목을 다시 선택하지 않고 또는 SelectedIndexChanged 메서드를 트리거하지 않고 반환하려고합니다.Combobox SelectedIndexChanged가 트리거하는 것을 방지하려면 어떻게해야합니까?
이 상황은 다음과 같습니다. 콤보 상자가 있고 항목을 선택하면 datagridview가 행으로 채워집니다. 당신은 datagridview에서 사물을 편집하고 파일에 저장할 수 있습니다. 변경 사항을 저장하지 않고 콤보 상자에서 항목을 변경하려고하면 모든 변경 사항이 손실됩니다. 나는 예 (변경)와 아니오 (변경하지 않음) 중 하나를 선택할 수 있도록 메시지 상자를 만듭니다. 예를 클릭하면 모든 것이 정상이지만 아니오를 클릭하면 이전에 선택한 항목을 반환해야합니다. 그렇게하면 SelectedIndexChanged가 트리거되고 DataGridview가 다시로드되고 변경 사항이 삭제됩니다. 다음은 SelectedIndexChanged 메서드의 코드입니다.
if (!ChangeMade)
{
//#1 Some Code
}
else
{
DialogResult dialogResult =
MessageBox.Show("Are you sure you want to change the manifacturer?" +
"\n All the changes you have done will be lost.",
"Warning", MessageBoxButtons.YesNo);
if (dialogResult == DialogResult.Yes)
{
//same code as #1
}
else
{
//Here must be the code that returns the previous
//item without selecting it.
}
죄송합니다.
분명히 더 나은 해결책입니다. 다행스럽게 생각합니다. 감사! – Dethariel
답변 해 주셔서 감사합니다. 나는 당신과 데 메타 엘의 대답을 시도합니다. 그들은 둘 다 일하고있다 그러나 나는 너의 것을 잘 생각한다. – Georgi