protected override void OnHelpRequested(HelpEventArgs hevent) { // Get the active control Control activeControl = HelpUtils.GetActiveControl(this); // Figure out the context DataConnectionDialogContext context = DataConnectionDialogContext.AddProperty; if (activeControl == propertyTextBox) { context = DataConnectionDialogContext.AddPropertyTextBox; } if (activeControl == okButton) { context = DataConnectionDialogContext.AddPropertyOkButton; } if (activeControl == cancelButton) { context = DataConnectionDialogContext.AddPropertyCancelButton; } // Call OnContextHelpRequested ContextHelpEventArgs e = new ContextHelpEventArgs(context, hevent.MousePos); _mainDialog.OnContextHelpRequested(e); hevent.Handled = e.Handled; if (!e.Handled) { base.OnHelpRequested(hevent); } }
protected override void WndProc(ref Message m) { if (_mainDialog.TranslateHelpButton && HelpUtils.IsContextHelpMessage(ref m)) { // Force the ? in the title bar to invoke the help topic HelpUtils.TranslateContextHelpMessage(this, ref m); } base.WndProc(ref m); }
public override StandardValuesCollection GetStandardValues(ITypeDescriptorContext context) { if (_standardValues == null) { string[] dataSources = null; if (HelpUtils.IsWow64()) { List <String> dataSourceList = new List <String>(); // Read 64 registry key of SQL Server Instances Names. dataSourceList.AddRange(HelpUtils.GetValueNamesWow64("SOFTWARE\\Microsoft\\Microsoft SQL Server\\Instance Names\\SQL", NativeMethods.KEY_WOW64_64KEY | NativeMethods.KEY_QUERY_VALUE)); // Read 32 registry key of SQL Server Instances Names. dataSourceList.AddRange(HelpUtils.GetValueNamesWow64("SOFTWARE\\Microsoft\\Microsoft SQL Server\\Instance Names\\SQL", NativeMethods.KEY_WOW64_32KEY | NativeMethods.KEY_QUERY_VALUE)); dataSources = dataSourceList.ToArray(); } else { // Look in the registry for all local SQL Server instances Win32.RegistryKey key = Win32.Registry.LocalMachine.OpenSubKey("SOFTWARE\\Microsoft\\Microsoft SQL Server\\Instance Names\\SQL"); if (key != null) { using (key) { dataSources = key.GetValueNames(); } // key is Disposed here } } if (dataSources != null) { for (int i = 0; i < dataSources.Length; i++) { if (String.Equals(dataSources[i], "MSSQLSERVER", StringComparison.OrdinalIgnoreCase)) { dataSources[i] = "."; } else { dataSources[i] = ".\\" + dataSources[i]; } } _standardValues = new StandardValuesCollection(dataSources); } else { _standardValues = new StandardValuesCollection(new string[0]); } } return(_standardValues); }