Skip to content

Commit 9e80e2d

Browse files
committed
refactored CommandBarButton.Click to explicit event syntax
1 parent d4b1f0f commit 9e80e2d

File tree

3 files changed

+16
-14
lines changed

3 files changed

+16
-14
lines changed

RetailCoder.VBE/UI/Command/MenuItems/CommandBars/AppCommandBarBase.cs

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -85,7 +85,6 @@ private ICommandBarControl InitializeChildControl(ICommandMenuItem item)
8585
if (item.Command != null)
8686
{
8787
child.Click += child_Click;
88-
((CommandBarButton)child).HandleEvents();
8988
}
9089
return child;
9190
}

RetailCoder.VBE/UI/Command/MenuItems/ParentMenus/ParentMenuItemBase.cs

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -159,7 +159,6 @@ private ICommandBarControl InitializeChildControl(ICommandMenuItem item)
159159
: string.Empty;
160160

161161
child.Click += child_Click;
162-
((CommandBarButton)child).HandleEvents();
163162
return child;
164163
}
165164

Rubberduck.VBEEditor/SafeComWrappers/Office.Core/CommandBarButton.cs

Lines changed: 16 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -15,16 +15,6 @@ public CommandBarButton(Microsoft.Office.Core.CommandBarButton target)
1515
{
1616
}
1717

18-
public void HandleEvents()
19-
{
20-
((Microsoft.Office.Core.CommandBarButton)Target).Click += Target_Click;
21-
}
22-
23-
public void StopEvents()
24-
{
25-
((Microsoft.Office.Core.CommandBarButton)Target).Click -= Target_Click;
26-
}
27-
2818
private Microsoft.Office.Core.CommandBarButton Button
2919
{
3020
get { return (Microsoft.Office.Core.CommandBarButton)Target; }
@@ -35,10 +25,24 @@ public static ICommandBarButton FromCommandBarControl(ICommandBarControl control
3525
return new CommandBarButton((Microsoft.Office.Core.CommandBarButton)control.Target);
3626
}
3727

38-
public event EventHandler<CommandBarButtonClickEventArgs> Click;
28+
private EventHandler<CommandBarButtonClickEventArgs> _clickHandler;
29+
public event EventHandler<CommandBarButtonClickEventArgs> Click
30+
{
31+
add
32+
{
33+
((Microsoft.Office.Core.CommandBarButton)Target).Click += Target_Click;
34+
_clickHandler += value;
35+
}
36+
remove
37+
{
38+
((Microsoft.Office.Core.CommandBarButton)Target).Click -= Target_Click;
39+
_clickHandler -= value;
40+
}
41+
}
42+
3943
private void Target_Click(Microsoft.Office.Core.CommandBarButton ctrl, ref bool cancelDefault)
4044
{
41-
var handler = Click;
45+
var handler = _clickHandler;
4246
if (handler == null)
4347
{
4448
return;

0 commit comments

Comments
 (0)