c# - Datagridview shall disappear when clicking on the Form in the background -


as described in title, have form datagridview on front. datagridview smaller form in , want datagridview disappear whenever click anywhere else datagridview.

my code looks this:

this.datagridview1.leave += new system.eventhandler(this.focus); 

and eventhandler defined this:

private void focus(object sender, eventargs e) {       if(datagridview1.focused == false)      {          datagridview1.visible = false;      } } 

my problem datagridview disappears when new event in form activated not when click example in textbox on form.

can me?

the leave event not raise if click on form, or toolstripbutton, picturebox or other non-selectable control.

if expect behavior dropdown, can host datagridview in toolstripcontrol host , show using toolstripdropdown. way when click anywhere outside `datagridview, disappear. act dropdown menu. grid can larger form:

private void button1_click(object sender, eventargs e) {     this.datagridview1.margin = new padding(0);     var host = new toolstripcontrolhost(this.datagridview1);     this.datagridview1.minimumsize = new size(200, 100);     host.padding = new padding(0);     var dropdown = new toolstripdropdown();     dropdown.padding = new padding(0);     dropdown.items.add(host);     dropdown.show(button1, 0,button1.height); } 

enter image description here

important note: it's example. it's better pay attention disposing of objects in real world application. example, use single toolstripdropdown , dispose when closing form.


Comments