Focus thumbnail view panel on mouse enter to workaround mouse wheel scroll issue in Windows 7

This commit is contained in:
Jaex 2019-09-14 20:53:35 +03:00
parent 10cf3a66d4
commit 6c07490ea3
3 changed files with 33 additions and 2 deletions

View file

@ -34,6 +34,26 @@ namespace ShareX
{
public partial class TaskThumbnailPanel : UserControl
{
public new event EventHandler MouseEnter
{
add
{
base.MouseEnter += value;
lblTitle.MouseEnter += value;
pThumbnail.MouseEnter += value;
pbThumbnail.MouseEnter += value;
pbProgress.MouseEnter += value;
}
remove
{
base.MouseEnter -= value;
lblTitle.MouseEnter -= value;
pThumbnail.MouseEnter -= value;
pbThumbnail.MouseEnter -= value;
pbProgress.MouseEnter -= value;
}
}
public new event MouseEventHandler MouseDown
{
add

View file

@ -41,18 +41,20 @@ private void InitializeComponent()
this.flpMain.Size = new System.Drawing.Size(242, 8);
this.flpMain.TabIndex = 0;
this.flpMain.MouseDown += new System.Windows.Forms.MouseEventHandler(this.FlpMain_MouseDown);
this.flpMain.MouseEnter += new System.EventHandler(this.FlpMain_MouseEnter);
this.flpMain.MouseUp += new System.Windows.Forms.MouseEventHandler(this.Panel_MouseUp);
//
// TaskView
// TaskThumbnailView
//
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
this.AutoScroll = true;
this.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(42)))), ((int)(((byte)(47)))), ((int)(((byte)(56)))));
this.Controls.Add(this.flpMain);
this.Name = "TaskView";
this.Name = "TaskThumbnailView";
this.Size = new System.Drawing.Size(242, 228);
this.MouseDown += new System.Windows.Forms.MouseEventHandler(this.FlpMain_MouseDown);
this.MouseEnter += new System.EventHandler(this.FlpMain_MouseEnter);
this.MouseUp += new System.Windows.Forms.MouseEventHandler(this.Panel_MouseUp);
this.ResumeLayout(false);
this.PerformLayout();

View file

@ -138,6 +138,7 @@ public void UpdateTheme()
private TaskThumbnailPanel CreatePanel(WorkerTask task)
{
TaskThumbnailPanel panel = new TaskThumbnailPanel(task);
panel.MouseEnter += FlpMain_MouseEnter;
panel.MouseDown += (sender, e) => SelectedPanel = panel;
panel.MouseUp += Panel_MouseUp;
panel.ThumbnailSize = ThumbnailSize;
@ -191,6 +192,14 @@ protected void OnContextMenuRequested(object sender, MouseEventArgs e, WorkerTas
}
}
private void FlpMain_MouseEnter(object sender, System.EventArgs e)
{
if (!flpMain.Focused)
{
flpMain.Focus();
}
}
private void FlpMain_MouseDown(object sender, MouseEventArgs e)
{
SelectedPanel = null;