We use cookies to give you the best experience on our website. If you continue to browse, then you agree to our privacy policy and cookie policy.
Unfortunately, activation email could not send to your email. Please try again.

Inherited WinForm GDBG Combobox problem??? (.NET 2.0/VS2005)

Thread ID:





42416 Mar 28,2006 11:46 AM Mar 30,2006 11:00 PM Windows Forms 2
Tags: GridControl
Patrick El-Azem
Asked On March 28, 2006 11:46 AM

I have a very simple GDBG with a combobox column. The combobox is bound to a small datatable, and the GDBG itself has another datatable as its datasource. This works fine and as expected on a normal, blank WinForm. The combobox drops down, I see values, I can edit, and so on. Now, I paste the control and the code identically onto a new, blank WinForm that I inherit from another WinForm. *Nothing* is changed - no code, no properties, no nothing. The combobox does not drop down on the inherited WinForm!!! If I click and click on the combobox, or start typing a known value, it does get filled in, and in debugging I can see that the combox datasource is the datatable with the correct # of records - but the combo will NOT drop down! Again, the ONLY difference is that the seemingly broken GDBG is on an inherited WinForm, and that the functional GDBG is on a non-inherited WinForm. Is this a known problem? Has anyone else gotten GDBG with comboboxes to work on an inherited WinForm? Inherited WinForms are pretty vital to my app, so this is crucial to my decision to buy Syncfusion or not. Need help asap please! Thanks much in advance.

Patrick El-Azem
Replied On March 28, 2006 12:26 PM

OK, I isolated the cause of the strange behavior. In my above scenario, the parent form had TopMost set to True. Therefore, the child form was also TopMost = True. Changing this to False on the parent form and recompiling resulted in the GDBG combox working!!! I also tested having the parent TopMost = False and the inherited (child) form TopMost = True. This broke the GDBG combobox again. Back to False, and yes, it worked. Finally, I tested this on a non-inherited, non-parent (i.e. totally vanilla, no other controls, new project, etc.) form: indeed, setting TopMost = True on a form with only a GDBG control with a combobox column BREAKS the combobox. During all these headaches (the documentation, KB, FAQ, etc. were of no help in any of this, in fact the docs imho could use a total reorganization and rewrite, they have been so painful for me anyway to use to get started and just display data...) I also had several VS2005 hangs (again, vanilla project etc.) and event log entries like this one... .NET Runtime version 2.0.50727.42 - Fatal Execution Engine Error (7A2B45A2) (0) For more information, see Help and Support Center at http://go.microsoft.com/fwlink/events.asp. I am using the latest version of EssentialGrid as of this writing.

Administrator [Syncfusion]
Replied On March 30, 2006 11:00 PM

Hi Patrick, The combobox uses special code that will show the combobox on top of a grid without flickering the title bar of the application and without ever giving focus to the listbox and the scrollbars in the dropdown. If the form itself is already .TopMost then the only way to be in the z-order before the Form is to also use .TopMost. Setting .TopMost however for the dropdown itsself will result in giving focus to the combobox, the parent form title bar flashing. Also some code in the combobox would need to be changed to support that. So the easiest is to set the .TopMost flag = false while the combobox is shown and set it back to true once you hide the combobox. For more details, See. http://www.syncfusion.com/Support/user/uploads/ComboBox_ad31842b.zip Please let me know if you need any further assistance. Thanks for your patience. Regards, Haneef


This post will be permanently deleted. Are you sure you want to continue?

Sorry, An error occured while processing your request. Please try again later.

You are using an outdated version of Internet Explorer that may not display all features of this and other websites. Upgrade to Internet Explorer 8 or newer for a better experience.