diff --git a/minisqlquery-master/src/MiniSqlQuery.Core/Commands/CancelTaskCommand.cs b/minisqlquery-master/src/MiniSqlQuery.Core/Commands/CancelTaskCommand.cs
new file mode 100644
index 0000000..b6eac44
--- /dev/null
+++ b/minisqlquery-master/src/MiniSqlQuery.Core/Commands/CancelTaskCommand.cs
@@ -0,0 +1,56 @@
+#region License
+
+// Copyright 2005-2019 Paul Kohler (https://github.com/paulkohler/minisqlquery). All rights reserved.
+// This source code is made available under the terms of the GNU Lesser General Public License v3.0
+// https://github.com/paulkohler/minisqlquery/blob/master/LICENSE
+#endregion
+
+
+namespace MiniSqlQuery.Core.Commands
+{
+ /// <summary>
+ /// The cancel task command.
+ /// </summary>
+ public class CancelTaskCommand
+ : CommandBase
+ {
+ /// <summary>
+ /// Initializes a new instance of the <see cref = "CancelTaskCommand" /> class.
+ /// </summary>
+ public CancelTaskCommand()
+ : base("&Cancel")
+ {
+ SmallImage = ImageResource.stop;
+ }
+
+ /// <summary>
+ /// Gets a value indicating whether Enabled.
+ /// </summary>
+ /// <value>The enabled state.</value>
+ public override bool Enabled
+ {
+ get
+ {
+ var editor = HostWindow.ActiveChildForm as IPerformTask;
+ return editor != null && editor.IsBusy;
+ }
+ }
+
+ /// <summary>
+ /// Execute the command.
+ /// </summary>
+ public override void Execute()
+ {
+ if (!Enabled)
+ {
+ return;
+ }
+
+ var editor = HostWindow.ActiveChildForm as IPerformTask;
+ if (editor != null)
+ {
+ editor.CancelTask();
+ }
+ }
+ }
+}
\ No newline at end of file