c# - Can a Form be prevented from closing until a criteria is met? -
so have setup time tracking .exe file saves user input data .csv file. have code setup criteria user cannot save file unless ' @ least 8 hours' have been met.
however, want make .exe file stay open (kind of forced open) unless user manages save file. user should not allowed close program unless '8 hours ' criteria met. appreciated. section of code criteria being determine:
private void button1_click(object sender, eventargs e) { if (convert.toint32(textbox28.text) + convert.toint32(textbox29.text) + convert.toint32(textbox2.text) + convert.toint32(textbox3.text) + convert.toint32(textbox4.text) + convert.toint32(textbox6.text) + convert.toint32(textbox5.text) + convert.toint32(textbox7.text) + convert.toint32(textbox36.text) + convert.toint32(textbox40.text) < 8) { messagebox.show("total hours should @ least 8"); } else { streamwriter myoutputstream = new streamwriter("c:\\demo\\test.csv",true); myoutputstream.writeline((datetimepicker1.text) + "," + (textbox47.text) + "," + (textbox28.text) + "," + (textbox29.text) + "," + (textbox2.text) + "," + (textbox3.text) + "," + (textbox4.text) + "," + (textbox6.text) + "," + (textbox5.text) + "," + (textbox7.text) + "," + (textbox36.text) + "," + (textbox40.text)); myoutputstream.close(); } }
you can subscribe closing event of form , check if want cancel closing process:
public partial class form1 : form { private bool closecriteriamet; public form1() { initializecomponents(); // subscribe event closing += onformclosing; } // "closing" event handler private void onformclosing(object sender, formclosingeventargs e) { e.cancel = !closecriteriamet; // tell form not close } } or (as larstech suggested) override onformclosing method
public partial class form1 : form { // "closing" event handler protected override void onformclosing(formclosingeventargs e) { base.onformclosing(e); e.cancel |= !closecriteriamet; // combine cancel flag } } but note prevents user closing form via ui. process can still killed via task manager or other tools.
Comments
Post a Comment