Add an event handler to your code
private void anycontrol_MouseEnter(object sender, System.EventArgs e)
{
var senderControl = sender as System.Windows.Forms.Control;
if(senderControl==null)
return;
senderControl.Focus();
}
And assign it to any controls you want your focus to be applied automatically.
somePanel.MouseEnter += new System.EventHandler(anycontrol_MouseEnter);
//or this way
somePanel.MouseEnter += anycontrol_MouseEnter;
someComboBox.MouseEnter += anycontrol_MouseEnter;
edit:
Including the details you provided, I'd do it this way:
bool AllowUsersScrolling;
private void usersCombobox_MouseLeave(object sender, System.EventArgs e)
{
AllowUsersScrolling = false;
}
private void usersCombobox_MouseEnter(object sender, System.EventArgs e)
{
AllowUsersScrolling = true;
}
private void usersCombobox_MouseWheel(object sender, MouseEventArgs e)
{
if(!AllowUsersScrolling)
((HandledMouseEventArgs)e).Handled = true;
}
And attach those handlers to your control's events respectively.