private void ApplyOptionConfiguration(SafeNativeMethods.TASKDIALOGCONFIG dialogConfig) { // Handle options - start with no options set. SafeNativeMethods.TASKDIALOG_FLAGS options = SafeNativeMethods.TASKDIALOG_FLAGS.NONE; if (cancelable) { options |= SafeNativeMethods.TASKDIALOG_FLAGS.TDF_ALLOW_DIALOG_CANCELLATION; } if (checkBoxChecked.HasValue && checkBoxChecked.Value) { options |= SafeNativeMethods.TASKDIALOG_FLAGS.TDF_VERIFICATION_FLAG_CHECKED; } if (hyperlinksEnabled) { options |= SafeNativeMethods.TASKDIALOG_FLAGS.TDF_ENABLE_HYPERLINKS; } if (expanded) { options |= SafeNativeMethods.TASKDIALOG_FLAGS.TDF_EXPANDED_BY_DEFAULT; } if (Tick != null) { options |= SafeNativeMethods.TASKDIALOG_FLAGS.TDF_CALLBACK_TIMER; } if (startupLocation == TaskDialogStartupLocation.CenterOwner) { options |= SafeNativeMethods.TASKDIALOG_FLAGS.TDF_POSITION_RELATIVE_TO_WINDOW; } // Note: no validation required, as we allow this to // be set even if there is no expanded information // text because that could be added later. // Default for Win32 API is to expand into (and after) // the content area. if (expansionMode == TaskDialogExpandedInformationLocation.ExpandFooter) { options |= SafeNativeMethods.TASKDIALOG_FLAGS.TDF_EXPAND_FOOTER_AREA; } // Finally, apply options to config. dialogConfig.dwFlags = options; }
private bool IsOptionSet(SafeNativeMethods.TASKDIALOG_FLAGS flag) { return((nativeDialogConfig.dwFlags & flag) == flag); }