You need to implement this logic using the MouseEnter and MouseLeave events, each of which takes the form:
private void frm1_MouseEnter(object sender, EventArgs e) { Cursor.Hide(); } private void frm1_MouseLeave(object sender, EventArgs e) { Cursor.Show(); }
make abobe in the form that should hide the cursor and add it to the form that should make the cursor visible:
private void frm2_MouseEnter(object sender, EventArgs e) { Cursor.Show(); }
source share