/// <summary>
 /// Resets the Task Dialog to the state when first constructed, all properties set to their default value.
 /// </summary>
 public void Reset()
 {
     this.windowTitle = null;
     this.mainInstruction = null;
     this.content = null;
     this.commonButtons = 0;
     this.mainIcon = VistaTaskDialogIcon.None;
     this.customMainIcon = null;
     this.footerIcon = VistaTaskDialogIcon.None;
     this.customFooterIcon = null;
     this.buttons = new VistaTaskDialogButton[0];
     this.radioButtons = new VistaTaskDialogButton[0];
     this.flags = 0;
     this.defaultButton = 0;
     this.defaultRadioButton = 0;
     this.verificationText = null;
     this.expandedInformation = null;
     this.expandedControlText = null;
     this.collapsedControlText = null;
     this.footer = null;
     this.callback = null;
     this.callbackData = null;
     this.width = 0;
 }
 /// <summary>
 /// Helper function to set or clear a bit in the flags field.
 /// </summary>
 /// <param name="flag">The Flag bit to set or clear.</param>
 /// <param name="value">True to set, false to clear the bit in the flags field.</param>
 private void SetFlag(VistaUnsafeNativeMethods.TASKDIALOG_FLAGS flag, bool value)
 {
     if (value)
     {
         this.flags |= flag;
     }
     else
     {
         this.flags &= ~flag;
     }
 }