2014-10-02 2 views
0

У меня есть текстовое поле с запросом, которое пользователь может загрузить и изменить или оставить в покое. У меня есть тестовая база данных, которую пользователь отправляет с помощью кнопки Test Test. Результаты отображаются в другом текстовом поле формы в XML.проверить, изменилось ли текстовое поле с момента нажатия кнопки

Есть ли способ проверить, изменил ли пользователь что-либо в текстовом поле после нажатия кнопки разработки? У меня есть еще одна кнопка с названием production, где, если результаты, возвращенные пользователю, верны, пользователь может сохранить этот запрос в производственной базе данных.

Я хочу, чтобы пользователь загружал правильно сформулированный запрос, тестировал его, результаты были хорошими, а затем пользователь что-то менял, как на случай аварии, так и на цели, когда этот запрос больше не работает, и отправляет его к производству. В этот момент будут ошибки, и все должно быть найдено и изменено. Я бы хотел, чтобы появилось небольшое окно сообщений и говорилось: «Текстовое поле было изменено с тех пор, как вы его протестировали, вы уверены, что хотите передать это в производство». Теперь они все равно могут отправить его, но по крайней мере они предупреждены.

+1

Какое текстовое поле? Winforms? WPF? ASP? –

+2

Можете ли вы не просто сохранить запрос к локальной переменной, когда результаты возвращаются из dev, а затем использовать это для производства? например 'button.Enabled = lastQuery == textbox.Text' –

+0

Или поставьте кнопку, которая загружается в сообщение в сообщении, что указывает на то, что запрос действителен. – Trisped

ответ

0

Предположим, что в какой-то момент нажата кнопка или происходит какое-то действие.

1) При загрузке окна, можно провести первоначальное значение в переменной 2) Когда происходит действие, вы можете повторно запросить тот же запрос и сделать еще туда-обратно, чтобы восстановить исходное значение 3) затем сравните исходное значение с текущим

if (textBox.Text == myOriginalValue) 
    { 
    } 
    else 
    { 
    } 
0

Вы можете подписаться на TextChanged события и обновить поле затем.

textbox.TextChanged += (sender, e) => { textValue = textbox.Text; }; 
0

установить грязный флаг в свойстве тега и проверить его.

//Set 1 in the Tag property after loading data 
private void LoadData() 
{ 
    textBox1.Text = myValue; 
    textBox1.Tag = 0; 
} 

//Set 0 in the Tag property on TextChange 
private void textBox1_TextChange(object sender, EventArgs) 
{ 
    ((TextBox)sender).Tag = 1; 
} 

//Check if Tag != 0 then do your stuff. 
private void button1_click(object sender, EventArgs e) 
{ 
    if (textBox1.Tag != null && Convert.ToInt32(textBox1.Tag) != 0) 
    { 
     MessageBox.Show("The text box has been changed since you tested it are you sure you want to submit this to production", "Value Has Changed"); 
    } 
} 
Смежные вопросы